Les mots-clés sont des symboles caractères qui définissent la syntaxe du langage C#.
Un mot-clé désigne un terme natif à C# doté d’une fonction spécifique. C’est pourquoi vous ne pouvez pas les réutiliser pour nommer des variables, des fonctions ou tout autre identifiant : cela créerait des ambiguïtés syntaxiques. Prenons l’exemple du mot int : il représente le type entier en C#. Si vous tentez de déclarer une variable portant ce nom, comme bool int = 12;, le compilateur ne saura pas interpréter votre code, car int est réservé à un usage propre au langage.
Les mots-clés obéissent à deux règles fondamentales
Les mots-clés ne peuvent pas être utilisés directement comme noms de variables ou autres identifiants ; la seule exception est de faire précéder le mot-clé du symbole @. Tous les mots-clés standard de C# s’écrivent en minuscules ; à l’inverse, les types intégrés à .NET suivent la notation PascalCase (camelCase majuscule initial).
| abstract | const | extern | int | override | sizeof | typeof | |
| as | continue | false | interface | params | stackalloc | uint | |
| base | decimal | finally | internal | private | static | ulong | |
| bool | default | fixed | is | protected | string | unchecked | |
| break | delegate | float | lock | public | struct | unsafe | |
| byte | do | for | long | readonly | switch | ushort | |
| case | double | foreach | namespace | ref | this | using | |
| catch | else | goto | new | return | throw | virtual | |
| char | enum | if | null | sbyte | true | void | |
| checked | event | implicit | object | sealed | try | volatile | |
| class | explicit | in | operator | when | while |
Mots réservés globaux, interdits en tant qu’identifiants bruts dans tous les contextes ; le préfixe @ est obligatoire.
int @int; // Syntaxe valide
int int; // Provoque une erreur de compilationLangage du code : JavaScript (javascript)
Mots-clés contextuels
Mots-clés contextuels (Contextual Keywords)
Les mots-clés contextuels n’ont de signification de mot réservé qu’à l’intérieur de structures syntaxiques précises. Contrairement aux mots-clés classiques, ils peuvent être employés librement comme identifiants dans le reste du code source.
| add | ascending | async | await | by | descending | dynamic |
| equals | from | get | global | group | in | into |
| join | let | on | orderby | partial | remove | select |
| set | value | var | where | yield |
Ne prennent le statut de mot-clé que dans des syntaxes dédiées ; vous pouvez les nommer directement comme variables ailleurs
int var; // Autorisé, var n’est pas considéré comme mot-clé hors inférence de type
var num = 10; // Ici var agit comme mot-clé pour l’inférence implicite de typeLangage du code : JavaScript (javascript)

Tous les termes surlignés dans l’exemple précédent appartiennent à la catégorie des mots-clés.