La catégorie Unicode a été modifiée pour les caractères Latin-1

Les méthodes Charretournent maintenant la catégorie Unicode correcte pour les caractères de la plage Latin-1. La catégorie correspond à celle de la norme Unicode.

Description de la modification

Dans les versions .NET précédentes, les méthodes Char utilisaient une liste fixe de catégories Unicode pour les caractères de la plage Latin-1. Toutefois, la norme Unicode a modifié les catégories de certains de ces caractères depuis que ces API ont été implémentées, créant une différence. En outre, il y avait également une différence entre les API Char et CharUnicodeInfo, qui suivent la norme Unicode. Dans .NET 5 et versions ultérieures, les méthodes Char utilisent et retournent la catégorie Unicode qui correspond à la norme Unicode pour tous les caractères.

Le tableau suivant montre les caractères dont les catégories Unicode ont changé dans .NET 5 :

Caractère catégorie Unicode
dans les versions .NET précédentes
catégorie Unicode
dans les versions .NET 5 et ultérieures
§ (\u00a7) OtherSymbol OtherPunctuation
ª (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
¶ (\u00b6) OtherSymbol OtherPunctuation
º (\u00ba) LowercaseLetter OtherLetter

Version introduite

.NET 5.0

Si vous avez un code qui obtient la catégorie de caractères Unicode à l’aide de la classe Char et suppose que la catégorie ne changera jamais, vous devrez peut-être la mettre à jour.

Raison du changement

Ce changement a été apporté afin que les catégories retournées par le type Char soient cohérentes avec la norme Unicode et le typeCharUnicodeInfo.

API affectées

En outre, toute classe qui dépend de Char pour obtenir la catégorie de caractères Unicode, par exemple , Regex, est affectée par ce changement.