Schlüsselwörter

Schlüsselwörter sind Zeichenmarken, die die Syntax der C#-Sprache definieren.

Bei Schlüsselwörtern handelt es sich um eingebaute Begriffe von C# mit jeweils einer festen Sonderfunktion. Deshalb dürfen Sie diese Wörter beim Programmieren nicht als Variablennamen, Funktionsnamen oder andere Bezeichner verwenden – sonst entstehen mehrdeutige Anweisungen, die der Compiler nicht verarbeiten kann. Ein Beispiel: int steht in C# für den Ganzzahltyp. Wenn Sie versuchen, bool int = 12; zu schreiben, scheitert die Kompilierung, weil int als reserviertes Wort für eine spezielle Spracheigenschaft vorgesehen ist.

Für Schlüsselwörter gelten zwei zentrale Regeln

Schlüsselwörter dürfen nicht direkt als Variablennamen oder andere Bezeichner genutzt werden; die einzige Ausnahme besteht darin, dem Schlüsselwort das Zeichen @ voranzustellen. Alle standardmäßigen C#-Schlüsselwörter bestehen ausschließlich aus Kleinbuchstaben, wohingegen die integrierten .NET-Typbezeichnungen nach der PascalCase-Schreibweise benannt werden.

abstractconstexternintoverridesizeoftypeof
ascontinuefalseinterfaceparamsstackallocuint
basedecimalfinallyinternalprivatestaticulong
booldefaultfixedisprotectedstringunchecked
breakdelegatefloatlockpublicstructunsafe
bytedoforlongreadonlyswitchushort
casedoubleforeachnamespacerefthisusing
catchelsegotonewreturnthrowvirtual
charenumifnullsbytetruevoid
checkedeventimplicitobjectsealedtryvolatile
classexplicitinoperatorwhenwhile

Global reservierte Begriffe, in keinem Kontext direkt als Name nutzbar, das Präfix @ ist zwingend erforderlich

int @int; // Gültige Syntax
int int;  // Löst einen Kompilierungsfehler ausCode-Sprache: JavaScript (javascript)

Kontextbezogene Schlüsselwörter

Kontextbezogene Schlüsselwörter (Contextual Keywords)

Kontextbezogene Schlüsselwörter wirken nur innerhalb bestimmter Syntaxstrukturen als reservierte Wörter. Im Gegensatz zu normalen Schlüsselwörtern können sie an anderen Stellen im Quellcode frei als Bezeichner verwendet werden.

addascendingasyncawaitbydescendingdynamic
equalsfromgetglobalgroupininto
joinletonorderbypartialremoveselect
setvaluevarwhereyield

Nur in festgelegten Syntaxblöcken als Schlüsselwort aktiv, ansonsten direkt als Variablenname einsetzbar

int var; // Erlaubt, var ist außerhalb der Typableitung kein Schlüsselwort
var num = 10; // Hier fungiert var als Schlüsselwort für die implizite TypableitungCode-Sprache: JavaScript (javascript)

Alle eingekreisten Begriffe aus dem vorherigen Beispiel zählen zu den Schlüsselwörtern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert