Quelles nouveautés dans C# 10 ?
31 mars 2022 / Par Laurent
Temps de lecture : 3 min
31 mars 2022 / Par Laurent
Temps de lecture : 3 min
Dans cet article, nous regarderons de près les nouveautés favorites introduites, notamment:
L’utilisation globale d’espace de noms (namespaces en Anglais)
Les espaces de noms à portée fichier
L’interpolation ou concaténation des constantes de type chaîne de caractères
La vérification d’arguments à valeur nulle
Expression with
sur les données de types struct
Jusqu’à C# 9, il est courant de voir les mêmes espaces de noms (namespaces) importés partout dans les fichiers du projet. L’exemple le plus remarquable est le System
qui est souvent utilisé.
La bonne nouvelle est que C# 10 introduit la global using
et pour réduire ou permettre la réutilisation des espaces de noms répétitifs.
Lorsque vous constatez l’utilisation des mêmes espaces de noms dans divers endroits dans votre projet, mettez ces espaces de noms dans un fichie.cs
Bien que cela ne soit pas obligatoire, il est conseillé de placer toutes vos directives d’utilisation globale dans un fichier standard pour tous vos projets, par GlobalUsings.cs
vous êtes libres d’utiliser le nom qui vous convient.
Supposons que j’ai 4 namespaces importés dans presque tous les fichiers de mon projet, je les mets dans un GlobalUsings.cs
à la racine de mon projet tout en précédant chaque importation de la global
La question qui peut se poser est comment le compilateur reconnaîtra-t-il ces importations de namespaces de portée globale ?
C’est là qu’intervient la notion d’utilisation ou d’importation implicite qui permet la détection automatiquement des global using
par tous les fichiers du projet.
Pour ce faire, il suffit d’aller dans le .csproj
votre projet et d’y ImplicitUsings
enable
ce n’est pas encore le cas.
Si vous ne préférez pas placer vos directives d’utilisation globale dans un fichier, vous pouvez également les ajouter à votre .csproj
je voulais inclure les quatre directives d’utilisation globale précédentes dans mon .csproj
ce qui suit à mon .csproj
.csproj
Une nouvelle manière de déclarer les espaces de noms a été introduite dans C# 10 supprimant un niveau d’imbrication.
Toutefois, vous ne pouvez pas déclarer un espace de noms imbriqué ou un deuxième espace de noms dans le même fichier comme suit :
Vérifier si la valeur d’un argument est nulle est quelque chose de courant voir important pour éviter des comportements inattendus dans un programme. Ceci peut se faire avec une simple condition if
ou via des librairies comme ou encore .
Avec C# 10, nous pouvons simplement faire :
with
sur les données de type struct
et anonymeL’expressionwith
génère une copie de son opérande avec les propriétés modifiées.
blogPost
, nous pouvons utiliser l’expression with