.NET Core 3.x et .NET Standard 2.1 prennent en charge la syntaxe C# 8.0, introduisent de nombreuses fonctionnalités fonctionnelles et ajoutent une nouvelle syntaxe : membres en lecture seule, méthodes d’interface par défaut, améliorations de la correspondance de motifs, motifs d’attributs, motifs de tuple, patrons de position, expressions de commutateur, utilisation de déclarations, fonctions locales statiques, flux asynchrones, index et plages, assignations de fusion nulle, etc. Cet article expliquera les nouveaux points de connaissance de C# 8.0.
Index et portée
Les types .NET suivants prennent en charge à la fois les index et les plages : Array, String, Span et ReadOnlySpan. La liste prend en charge les index, mais pas les plages
Exemple 1 : La date de naissance de la personne ayant obtenu le numéro d’identification
Exemple 2 : Obtenez le contenu du dernier bout de la chaîne
Exemple 3 : Supprimez la dernière partie
Interrupteur
expression
Mode attribut
Motif de tuples
Mode localisation
Certains types incluent une méthode de déconstruction qui déconstruit ses propriétés en variables discrètes. Si vous avez accès à la méthode de Déconstruction, vous pouvez utiliser Position Patterns pour vérifier les propriétés d’un objet et utiliser ces propriétés pour les patterns. Considérons la classe Point suivante qui contient une méthode de déconstruction pour créer des variables discrètes pour X et Y :
Considérons également l’énumération suivante des différentes positions qui représentent le quadrant :
La méthode suivante utilise le motif de position pour extraire les valeurs de x et y. Il utilise ensuite la clause when pour déterminer le quadrant de ce point :
Affectations de fusion nulle
Expressions constructrices
Utilisation de l’instruction
La déclaration using est une déclaration de variable précédée par le mot-clé us. Il demande au compilateur de déclarer les variables à traiter à la fin de l’étendue fermée. Par exemple, le code pour écrire un fichier texte est le suivant :
Dans l’exemple précédent, le fichier est traité lorsque les bonnes parenthèses de la méthode sont atteintes. C’est la fin de la plage du fichier déclaré. Le code précédent est équivalent au code suivant utilisant l’instruction classique using :
Dans l’exemple précédent, le fichier est traité lorsque les bonnes parenthèses associées à l’instruction using sont atteintes. Dans les deux cas, le compilateur génère un appel à Dispose(). Si l’expression de l’instruction using n’est pas disponible, le compilateur générera une erreur.
Ressources
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |