C# Version 11
C# 11
Les littéraux de chaîne brute constituent un nouveau format pour les littéraux de chaîne. Ils peuvent contenir du texte arbitraire, y compris des espaces blancs, de nouvelles lignes, des guillemets incorporés et d’autres caractères spéciaux, sans nécessiter de séquences d’échappement. Un littéral de chaîne brute commence par au moins trois caractères guillemets doubles ("""). Il se termine par le même nombre de guillemets doubles. En règle générale, il utilise trois guillemets doubles sur une seule ligne pour démarrer la chaîne, et trois guillemets doubles sur une ligne distincte pour la terminer. Les nouvelles lignes qui suivent le guillemet d’ouverture et qui précèdent le guillemet de clôture ne sont pas incluses dans le contenu final :
string
longMessage =
"""
This is a long message.
It has several lines.
Some are indented
more than others.
Some should start at the first column.
Some have "
quoted text
" in them.
"""
;
Tout espace blanc situé à gauche des guillemets doubles fermants est supprimé du littéral de chaîne. Les littéraux de chaîne brute peuvent être combinés avec l’interpolation de chaîne pour inclure des accolades dans le texte de sortie. Plusieurs caractères $
indiquent le nombre d’accolades consécutives qui commencent et terminent l’interpolation :
var
location = $
$"""
You are at {{{Longitude}}, {{Latitude}}}
"""
;
L’exemple précédent spécifie que deux accolades démarrent et terminent une interpolation. La troisième accolade ouvrante et fermante est incluse dans la chaîne de sortie.
Nouvelles lignes dans les expressions d’interpolation de chaîne
Les modèles de liste étendent les critères spéciaux pour intégrer la correspondance avec des séquences d’éléments d’une liste ou d’un tableau. Par exemple, sequence is [1, 2, 3] est true lorsque sequence est un tableau ou une liste de trois entiers (1, 2 et 3). Vous pouvez faire correspondre des éléments à l’aide de n’importe quel modèle, notamment des modèles constants et relationnels et des modèles de type et de propriété. Le modèle discard (_) correspond à n’importe quel élément unique, et le nouveau modèle de plage (..) à n’importe quelle séquence de zéro, un ou plusieurs éléments.
Pour plus d’informations sur les modèles de liste, consultez l’article Critères spéciaux dans la documentation de référence du langage.
Correspondance
Span<char>
de modèle sur une constantestring
Champs
ref
etscoped ref
Amélioration de la conversion de groupe de méthodes en instance déléguée
C# 11 introduit des mathématiques génériques et plusieurs fonctionnalités qui prennent en charge cet objectif. Vous pouvez écrire des algorithmes numériques une fois pour tous les types de nombres. Il existe d’autres fonctionnalités pour faciliter l’utilisation des types struct, comme les membres requis et les structs par défaut automatique. L’utilisation de chaînes est plus facile avec les littéraux de chaîne bruts, la nouvelle ligne dans les interpolations de chaîne et les littéraux de chaîne UTF-8. Les fonctionnalités telles que les types locaux de fichiers permettent aux générateurs sources d’être plus simples. Enfin, les modèles de liste ajoutent davantage de prise en charge pour la mise en correspondance des modèles.
Commentaires
Enregistrer un commentaire