Section courante

A propos

Section administrative du site

 Langage  Installation  Elément  Tutoriel  Programmation  Bibliothèque  Cadre d'application  SDK  Gabarit  Projet  IDE  Outils  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Visual C# 2005 Express
Visual Studio .NET 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2012
Visual Studio 2013
Visual Studio 2015
Visual Studio 2017
Visual Studio 2019
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Les instructions d'exceptions
Type de données élémentaires
Définition de variables
Définitions de tableaux
Requêtes de données (LINQ)
Référence des mots réservés
Référence des espaces de nom (Namespace)
Les classes
Références des classes
Directives de préprocesseur C#
Les nombres
Les chaines de caractères
Date et heure
Vue par catégorie
Les interfaces
Les classes abstraites
Les classes scellés
Les indexeurs
Les premiers pas
Les fondements de C#
Les types primitifs et variables
Les opérateurs et les expressions
Les entrées/sorties de la console
Les déclarations conditionnelles
Les déclarations de boucles
Les systèmes numériques
Traitement des chaînes de caractères et du texte
WinForms (Windows Forms)
Les opérations
Conversion de string à int
Bonjour
Astronomie
Base de données
Biochimie
Chaine de caractères
Electricité
Finance
Géographie
Géométrie
Gouvernement
Histoire
Mathématique
Médicale
Météorologie
Océanographie
Sport
Système d'exploitation
Temps
Tri
Trigonométrie
Validation
Phase lunaire
Table SQL Server
Calcul du calcium corrigé
Calcul le taux d'alcoolémie
Nombre réel avec un certain nombre de décimal
Majuscule (strtoupper ou UpperCase)
Minuscule (strtolower ou LowerCase)
Calcul du tarif d'une piscine pour 1 mois
IPaymt/Interet
NPer
PPaymt/Principal
Distance en Km entre deux longitudes et latitudes
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
Taxe de vente canadienne
Chiffre romain
Ackermann
Exp
Factoriel
Fibonacci
Log
Nombre premier
Odd
Random
Sqrt
Triangle Pascal
Valeur absolue (ABS)
Hauteur utérine
Unité de mesure
Fréquence des vagues
Hockey
Variables d'environnement
Année bissextile
Date de la Pâque
Heure courante
FirstDayOfMonth
Tri à bulle (Bubble Sort)
Tri Shell Sort
ArcCos
ArcSin
Atn/ATan/ArcTan/ArcTangente
Cos
Sin
Courriel
ALGLIB
Dapper
FluentFTP
log4net
MailKit
MediatR
MimeKit
Newtonsoft.Json (Json.NET)
Serilog
.NET
.NET Core
.NET Framework
Accord.NET Framework
Akka.NET
ASP.NET
ASP.NET Core
Avalonia UI
Blazor
Entity Framework
Entity Framework Core (EF Core)
Hangfire
Infer.NET
MAUI
ML.NET
Mono
NHibernate
NUnit
Unity
xUnit.net
Azure SDK for .NET
AWS SDK for .NET
Bot Framework SDK
Razor
Umbraco
Rider
Visual Studio
Visual Studio Code
Visual C# 2005 Express
Xamarin Studio
Visual Studio .NET
Visual Studio .NET 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2012
Visual Studio 2013
Visual Studio 2015
Visual Studio 2017
Visual Studio 2019
Visual Studio 2022
ELMAH
elmah.io
MS Build Tools
NuGet
WiX Toolset
Add-in Express
csc (C# Compiler)
CFF Explorer
IL DASM
ILMerge
.NET Reflector
Salamander .NET Decompiler
Références des codes d'erreur du C# (C Sharp)
Base de connaissances
Conventions de nommage
Vocabulaire
Marqueurs
Archives de paquet externe
Bibliographie
Préface
Notes légal
Dictionnaire
Recherche

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.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mercredi, le 29 décembre 2021