Le langage de programmation C# contient des mots réservés ayant une signification particulière pour le compilateur. Ces mots réservés sont appelés «mots clefs» ou «mots réservés». Les mots clefs ne peuvent pas être utilisés comme identifiacateur (nom d'une variable, classe, interface,...). Les mots clefs en C# sont répartis dans les catégories suivantes :
Mots clefs modificateurs
Les mots clefs modificateurs sont des mots clefs spécifiques indiquant qui peut modifier les types et les membres de type. Les modificateurs permettent ou empêchent certaines parties des programmes d'être modifiées par d'autres parties.
Nom | Description |
---|---|
ABSTRACT | Ce mot réservé permet d'identifier des classes et des méthodes de types abstraites. |
ASYNC | Ce mot réservé permet d'indiquer qu'une méthode, une expression lambda ou une méthode anonyme est désynchronisé. |
CONST | Ce mot réservé permet de définir une constante. |
EVENT | Ce mot réservé permet de définir un événement. |
EXTERN | Ce mot réservé permet de déclarer une méthode externe comme par exemple lorsqu'on définit une API de Windows. |
NEW | Ce mot réservé permet de créer un objet. |
OVERRIDE | Ce mot réservé permet d'indiquer de modifier ou d'étendre une classe existante. On peut voir cette instruction comme une façon de construire une même classe en plusieurs parties distinct dans le code source. |
PARTIAL | Ce mot réservé permet de diviser l'implémentation d'une classe, d'une structure, d'une méthode ou d'une interface dans plusieurs fichiers .cs. |
READONLY | Ce mot réservé permet d'indiquer que le champs peut seulement être modifié dans la partie déclarative ou le constructeur d'une même classe. |
SEALED | Ce mot réservé permet d'indiquer qu'il est impossible d'hériter de la classe spécifié. |
STATIC | Ce mot réservé permet de rendre disponible une fonction ou variable d'une classe de façon global comme si elle se trouvait en dehors de la classe elle-même. |
UNSAFE | Ce mot réservé permet d'indiquer un contexte non-sûre, lequel est requis pour des opérations sur les pointeurs. |
VIRTUAL | Ce mot réservé permet de définir une fonction pouvant être remplacer par une nouvelle fixation de classe. |
VOLATILE | Ce mot réservé permet d'indiquer qu'un champ peut être modifié par plusieurs plusieurs processus léger s'exécutant en même temps. Le compilateur, le système d'exécution et même le matériel peuvent réorganiser les lectures et les écritures dans les emplacements mémoire pour des raisons de performances. Les champs déclarés volatiles sont exclus de certains types d'optimisations. Il n'y a aucune garantie d'un seul ordre total des écritures volatiles comme vu de tous les processus léger d'exécution. |
Mots clefs du modificateur d'accès
Les modificateurs d'accès sont appliqués à la déclaration de la classe, de la méthode, des propriétés, des champs et des autres membres. Ils définissent l'accessibilité de la classe et de ses membres :
Nom | Description |
---|---|
INTERNAL | Ce mot réservé permet d'accéder au modificateur de type d'un membre. |
PRIVATE | Ce mot réservé permet de spécifier qu'un objet ou une variable est de type privé et seulement accessible par les méthodes de la classe. |
PROTECTED | Ce mot réservé permet de rendre accessible des éléments d'une classe uniquement par la classe et à ses filles. |
PUBLIC | Ce mot réservé permet de spécifier qu'un objet ou une variable est de type public ou accessible à tous. |
Mots clefs de l'énoncé
Les mots clefs d'instruction sont liés au flux de programme :
Nom | Description |
---|---|
BREAK | Ce mot réservé permet d'interrompre une boucle ou une instruction «switch». |
CASE | Ce mot réservé permet d'identifier un cas dans un mot réservé «switch». |
CATCH | Ce mot réservé permet la gestion des erreurs. |
CHECKED | Ce mot réservé permet d'activer la vérification du débordement de valeur supporté par le type de données lorsqu'on effectue des traitements mathématique ou de conversion. |
CONTINUE | Ce mot réservé permet de recommencer au début d'une boucle. |
DEFAULT | Ce mot réservé permet d'exécuter un cas par défaut si les autres ne sont pas correspondant dans une mot réservé «switch» ou de demander la valeur par défaut d'un type de données. |
DO | Ce mot réservé permet d'effectuer une boucle avec un mot réservé «while». |
ELSE | Ce mot réservé permet d'effectuer une situation contraire à la condition «if». |
FINALLY | Ce mot réservé indique une partie exécuté de façon générale dans un traitement d'exception et d'erreur. |
FIXED | Ce mot réservé permet d'empêcher que la variable soit déplacable en mémoire et ainsi ne se ramasse pas dans le ramasse-miette (Garbage Collector). |
FOR | Ce mot réservé permet d'effectuer une compteur de boucle. |
FOREACH | Ce mot réservé permet d'effectuer une compteur de boucle pour chacun des éléments d'un tableau. |
GOTO | Ce mot réservé permet de faire un saut d'exécution à une étiquette. |
IF | Ce mot réservé permet d'effectuer le traitement d'une condition. |
IN | Ce mot réservé permet d'effectuer un teste sur des ensembles. |
LOCK | Ce mot réservé permet d'indiquer l'exécution d'un bloc d'instruction dans un contexte de section critique. |
RETURN | Ce mot réservé permet de terminer une fonction avec une valeur optionnel. |
SWITCH | Ce mot réservé permet d'effectuer des testes de cas. |
THROW | Ce mot réservé permet de déclencher une exception. |
TRY | Ce mot réservé débute un bloc devant être surveillé par des exceptions. |
UNCHECKED | Ce mot réservé permet de désactiver la vérification du débordement de valeur supporté par le type de données lorsqu'on effectue des traitements mathématique ou de conversion sur l'objet courant. |
WHILE | Ce mot réservé permet de définir une boucle. |
YIELD | Ce mot réservé permet d'indiquer que la méthode, l'opérateur ou l'accesseur get dans lequel il apparaît est un itérateur. |
Mots-clefs des paramètres de méthode
Ces mots clefs sont appliqués aux paramètres d'une méthode :
Nom | Description |
---|---|
PARAMS | Ce mot réservé permet d'indiquer une méthode avec un nombre d'arguments variables. On parle donc d'une méthode pouvant aussi bien avoir 1, 2, 3, 5, 10 ou 27 paramètres ou toutes autres nombres de paramètres souhaité par l'utilisateur de cette méthode. |
OUT | Ce mot réservé permet d'indiquer un passage de paramètre par référence. |
REF | Ce mot réservé permet d'indiquer un passage de paramètre par référence. Cependant les paramètres, utilisant se mot, sont traités avant ceux du «out». |
Mots clefs de l'espace de noms
Ces mots clefs sont appliqués avec l'espace de noms et les opérateurs associés :
Nom | Description |
---|---|
. (opérateur) | |
:: (opérateur) | Ce mot réservé permet d'accéder à un membre d'un espace de noms d'alias. |
EXTERN ALIAS | Ce mot réservé permet de référencer deux versions d'assemblys ayant les mêmes noms de types complets. |
USING | Ce mot réservé permet de définir des alias dans des espaces de noms ou l'utilisation d'un objet dans un bloc. |
Mots clefs de l'opérateur
Les mots clefs d'opérateur effectuent diverses actions :
Nom | Description |
---|---|
AS | Ce mot réservé permet d'associer un type de données différents (cast) lors de l'utilisation d'une variable. |
AWAIT | Ce mot réservé permet de suspendre l'évaluation de la méthode désynchronisé englobante jusqu'à ce que l'opération désynchronisé représentée par son opérande se termine. |
CHECKED | Ce mot réservé permet d'activer la vérification du débordement de valeur supporté par le type de données lorsqu'on effectue des traitements mathématique ou de conversion. |
IS | Ce mot réservé permet de vérifier si le type de données est compatible avec celui spécifié. |
NEW | Ce mot réservé permet de créer un objet. |
SIZEOF | Ce mot réservé permet d'indiquer la taille d'une variable ou d'un type de données. |
TYPEOF | Ce mot réservé permet de déterminer un type de variable. |
STACKALLOC | Ce mot réservé permet d'allouer un bloc de mémoire sur la pile. Un bloc de mémoire alloué à la pile créé pendant l'exécution de la méthode est automatiquement supprimé lorsque cette méthode revient. |
UNCHECKED | Ce mot réservé permet de désactiver la vérification du débordement de valeur supporté par le type de données lorsqu'on effectue des traitements mathématique ou de conversion sur l'objet courant. |
Mots clefs d'accès
Les mots clefs d'accès sont utilisés pour accéder à la classe conteneur ou à la classe de base d'un objet ou d'une classe :
Nom | Description |
---|---|
BASE | Ce mot réservé permet d'accéder aux membres de la base d'une classe (classe parent) lorsqu'on est dans une classe enfant. |
THIS | Ce mot réservé permet de se référer directement à un élément, variable ou fonction de la classe courante. |
Mots clefs littéraux
Les mots clefs littéraux s'appliquent à l'instance ou à la valeur actuelle d'un objet :
Nom | Description |
---|---|
FALSE | Ce mot réservé est une constante indiquant «faux» (false). |
NULL | Ce mot réservé est une constante indiquant «nulle». |
TRUE | Ce mot réservé est une constante indiquant «vrai» (true). |
VALUE | Ce mot réservé permet d'indiquer l'accesseur set dans les déclarations de propriété et d'indexeur. |
VOID | Ce mot réservé permet de définir un type n'ayant aucun type. |
Mots clefs de type de données
Les mots clefs de type sont utilisés pour les types de données :
Nom | Description |
---|---|
BOOL | Ce mot réservé identifie le type de données «Booléen». |
BYTE | Ce mot réservé identifie le type de données «octet». |
CHAR | Ce mot réservé identifie le type de données de caractère. |
CLASS | Ce mot réservé identifie un objet (classe). |
DECIMAL | Ce mot réservé identifie le type de données de décimal. |
DOUBLE | Ce mot réservé identifie le type de données réel de double précision. |
ENUM | Ce mot réservé permet d'identifier un type de données d'énumération. |
FLOAT | Ce mot réservé permet d'identifier le type de données de «float». |
INT | Ce mot réservé identifie le type de données d'entier. |
LONG | Ce mot réservé identifie le type de données d'entier long. |
SBYTE | Ce mot réservé identifie le type de données d'entier court. |
SHORT | Ce mot réservé identifie le type de données d'entier court. |
STRING | Ce mot réservé identifie le type de données de chaîne de caractères. |
STRUCT | Ce mot réservé permet d'identifier une structure de données (un enregistrement). |
UINT | Ce mot réservé identifie le type de données de nombre naturel. |
ULONG | Ce mot réservé identifie le type de données de nombre naturel long. |
USHORT | Ce mot réservé identifie le type de données de nombre naturel court. |
Mots clefs contextuels
Les mots clefs contextuels sont considérés comme des mots clefs, uniquement s'ils sont utilisés dans des contextes spécifiques. Ils ne sont pas réservés et peuvent donc être utilisés comme noms ou identificateurs.
Nom | Description |
---|---|
ADD | Ce mot réservé permet de définir un accesseur d'événement personnalisé étant appelé lorsque le code client s'abonne à votre événement. Si vous fournissez un accesseur d'ajout personnalisé, vous devez également fournir un accesseur de suppression. |
DYNAMIC | Ce mot réservé permet d'indiquer un objet de type dynamique contourne la vérification de type statique. |
GLOBAL | Ce mot réservé permet d'indiquer une portée d'espace de nom globale. |
SET | Ce mot réservé permet de définir une méthode d'accès dans une propriété ou un indexeur attribuant une valeur à la propriété ou à l'élément indexeur. |
VALUE | Ce mot réservé permet d'indiquer l'accesseur set dans les déclarations de propriété et d'indexeur. |
VAR | Ce mot réservé permet d'indiquer une variable locale implicitement typée est fortement typée comme si vous aviez déclaré le type vous-même, mais le compilateur détermine le type de données. |
Les mots clefs contextuels ne sont pas convertis en couleur bleue (couleur par défaut pour les mots clefs dans Visual Studio) lorsqu'ils sont utilisés comme identificateur dans Visual Studio.
Mots clefs de requête
Les mots clefs de requête sont des mots clefs contextuels utilisés dans les requêtes LINQ :
Nom | Description |
---|---|
ASCENDING | Ce mot réservé permet d'indiquer un ascendant utilisé dans la clause orderby des expressions de requête pour spécifier que l'ordre de tri va du plus petit au plus grand. Étant donné que l'ordre de tri par défaut est ascendant, vous n'avez pas à le spécifier. |
BY | Ce mot réservé permet d'indiquer, dans la clause group, une expression de requête pour spécifier comment les éléments renvoyés doivent être regroupés. |
DESCENDING | Ce mot réservé permet d'indiquer un descendant utilisé dans la clause orderby des expressions de requête pour spécifier que l'ordre de tri va du plus grand au plus petit. |
EQUALS | Ce mot réservé permet d'indiquer une clause de jointure dans une expression de requête pour comparer les éléments de deux séquences. |
FROM | Ce mot réservé permet d'introduire une expression de requête. De plus, une expression de requête peut contenir des sous-requêtes, commençant également par une clause from. |
GROUP | Ce mot réservé permet de retourner une séquence d'objets IGrouping<TKey,TElement> contenant zéro ou plusieurs éléments correspondant à la valeur de clef du groupe. |
INTO | Ce mot réservé permet de créer un identificateur temporaire pour entreposer les résultats d'une clause group, join ou select dans un nouvel identificateur. Cet identifiant peut lui-même être un générateur de commandes de requêtes supplémentaires. Lorsqu'il est utilisé dans une clause group ou select, l'utilisation du nouvel identificateur est parfois appelée continuation. |
JOIN | Ce mot réservé permet d'associer des éléments de différentes séquences source n'ayant pas de relation directe dans le modèle objet. La seule exigence est que les éléments de chaque source partagent une valeur pouvant être comparée pour l'égalité. |
IN | Ce mot réservé permet d'effectuer un teste sur des ensembles. |
LET | Ce mot réservé permet de créer une nouvelle variable d'intervalle et l'initialise avec le résultat de l'expression que vous fournissez. |
ON | Ce mot réservé permet d'indiquer la condition de jointure dans une expression de requête. |
ORDERBY | Ce mot réservé permet d'entraîner le tri de la séquence ou de la sous-séquence (groupe) renvoyée dans l'ordre croissant ou décroissant dans une expression de requête. |
WHERE | Ce mot réservé permet d'indiquer quels éléments de la source de données seront renvoyés dans l'expression de requête. |
SELECT | Ce mot réservé permet d'indiquer le type de valeurs étant produites lors de l'exécution de la requête. |
Autres mots clefs
Nom | Description |
---|---|
DELEGATE | Ce mot réservé permet d'effectuer une déclaration de type de référence pour encapsuler un nom ou une méthode anonyme. |
EXPLICIT | Ce mot réservé permet de définir un type de données pour un opérateur utilisateur lorsqu'on effectue les conversions de type (cast). |
IMPLICIT | Ce mot réservé permet de définir un type de données pour un opérateur utilisateur. |
INTERFACE | Ce mot réservé permet de définir une zone de définition des méthodes modèle pour une classe (interface). |
NAMESPACE | Ce mot réservé permet de définir un espace de noms. |
OBJECT | Ce mot réservé est un identificateur de type de données étant l'ancêtre tous les types définit en C#. En somme, on peut dire qu'il s'agit du père à tous. |
OPERATOR | Ce mot réservé permet de définir un opérateur dans une classe ou une déclaration de structure. |