Informations de référence sur C#

Cette section fournit des ressources de référence sur les mots clés, les opérateurs, les caractères spéciaux, les directives de préprocesseur, les options du compilateur, et les erreurs et avertissements du compilateur du langage C#.

Dans cette section

Mots clés C#
Fournit des liens vers des informations sur la syntaxe et les mots clés C#.

Opérateurs C#
Fournit des liens vers des informations sur la syntaxe et les opérateurs C#.

Caractères spéciaux C#
Fournit des liens vers des informations sur des caractères spéciaux contextuels en C# et leur utilisation.

Directives de préprocesseur C#
Fournit des liens vers des informations sur les commandes de compilateur permettant d’incorporer du code source en C#.

Options du compilateur C#
Inclut des informations sur les options du compilateur et comment les utiliser.

Erreurs du compilateur C#
Inclut des extraits de code qui montrent la cause et la correction des erreurs du compilateur et des avertissements C#.

Spécification du langage C#
Spécification du langage C# 6.0. Il s’agit d’une ébauche de proposition pour le langage C# 6.0. Ce document sera affiné par le biais du Comité des normes ECMA C#. La version 5.0 a été publiée en décembre 2017 dans le document Standard ECMA-334 5th Edition.

Les fonctionnalités ayant été implémentées dans les versions C# ultérieures à 6.0 sont représentées dans des propositions de spécification du langage. Ces documents décrivent les delta de la spécification du langage afin d’ajouter ces nouvelles fonctionnalités. Il s’agit d’un formulaire de proposition. Ces spécifications seront affinées et soumises au Comité des normes ECMA pour une révision et une incorporation formelles dans une future version de la norme C#.

Propositions de spécification C# 7,0
De nouvelles fonctionnalités ont été implémentées dans C# 7.0 : critères spéciaux, fonctions locales, déclarations de variables out, expressions throw, littéraux binaires et séparateurs numériques notamment. Ce dossier contient les spécifications de chacune de ces fonctionnalités.

Propositions de spécification C# 7,1
De nouvelles fonctionnalités ont été ajoutées à C# 7.1. D’abord, vous pouvez écrire une méthode Main qui renvoie Task ou Task<int>. Ceci vous permet d’ajouter le modificateur async à Main. L’expression default peut être utilisée sans type dans des emplacements où le type peut être déduit. De plus, les noms de membres de tuple peuvent être déduits. Enfin, les critères spéciaux peuvent être utilisés avec des génériques.

Propositions de spécification C# 7,2
C# 7.2 apporte un certain nombre de petites fonctionnalités. Vous pouvez envoyer des arguments par référence en lecture seule à l’aide du mot clé in. Il existe un certain nombre de modifications de bas niveau pour soutenir la sécurité au moment de la compilation pour Span et d’autres types associés. Vous pouvez utiliser les arguments nommés où des arguments ultérieurs seront positionnels dans certains cas. Le modificateur d'accès private protected vous permet de spécifier que les appelants sont limités à des types dérivés implémentés dans le même assembly. L’opérateur ?: peut se servir d’une référence pour une variable. Vous pouvez aussi formater des nombres binaires et hexadécimaux à l’aide d’un séparateur numérique de début.

Propositions de spécification C# 7,3
C#7.3 est une nouvelle version qui comprend plusieurs petites mises à jour. Vous pouvez utiliser de nouvelles contraintes sur les paramètres de type générique. D’autres modifications facilitent l’utilisation des fixed champs, y compris l’utilisation des stackalloc allocations. Les variables locales déclarées avec le ref mot clé peuvent être réassignées pour faire référence au nouveau stockage. Vous pouvez placer des attributs sur les propriétés implémentées automatiquement qui ciblent le champ de stockage généré par le compilateur. Les variables d’expression peuvent être utilisées dans les initialiseurs. Les tuples peuvent être comparés pour savoir s’ils sont égaux (ou inégaux). Il y a également eu des améliorations pour la résolution de surcharge.

Propositions de spécification C# 8,0
C# 8,0 est disponible avec .NET Core 3,0. Les fonctionnalités incluent les types de référence Nullable, les critères spéciaux récursifs, les méthodes d’interface par défaut, les flux asynchrones, les plages et les index, les modèles basés sur et les déclarations, l’affectation de fusion Null et les membres d’instance en lecture seule.

Propositions de spécification C# 9,0
C# 9,0 est disponible avec .NET 5,0. Les fonctionnalités incluent les enregistrements, les instructions de niveau supérieur, les améliorations de critères spéciaux, les Setters init uniquement, les nouvelles expressions de type cible, les initialiseurs de module, l’extension des méthodes partielles, les fonctions anonymes statiques, les expressions conditionnelles de type cible, les types de retour covariant, les valeurs d’extension GetEnumerator dans les boucles Foreach, les paramètres d’abandon de la valeur lambda, les attributs des fonctions locales

Utilisation de l’environnement de développement Visual Studio pour C#
Fournit des liens vers des des rubriques de concepts et de tâches qui décrivent l’IDE et l’éditeur.

Guide de programmation C#
Inclut des informations sur l’utilisation du langage de programmation C#.