Categoria Unicode modificata per alcuni caratteri Latin-1
I metodi Char restituiscono ora la categoria Unicode corretta per i caratteri nell'intervallo Latin-1. La categoria corrisponde a quella dello standard Unicode.
Descrizione delle modifiche
Nelle versioni precedenti di .NET i metodi Char usavano un elenco fisso di categorie Unicode per i caratteri nell'intervallo Latin-1. Tuttavia, lo standard Unicode ha modificato le categorie di alcuni di questi caratteri dopo l'implementazione di tali API, creando una discrepanza. Inoltre, si è verificata una discrepanza tra le API Char e CharUnicodeInfo, che seguono lo standard Unicode. In .NET 5 e versioni successive i metodi Char usano e restituiscono la categoria Unicode corrispondente allo standard Unicode per tutti i caratteri.
La tabella seguente illustra i caratteri le cui categorie Unicode sono state modificate in .NET 5:
Carattere | Categoria Unicode nelle versioni precedenti di .NET |
Categoria Unicode in .NET 5 e versioni successive |
---|---|---|
§ (\u00a7) | OtherSymbol |
OtherPunctuation |
ª (\u00aa) | LowercaseLetter |
OtherLetter |
SHY (\u00ad) | DashPunctuation |
Format |
* (\u00b6) | OtherSymbol |
OtherPunctuation |
º (\u00ba) | LowercaseLetter |
OtherLetter |
Versione introdotta
.NET 5.0
Azione consigliata
Se si dispone di codice che ottiene la categoria di caratteri Unicode usando la classeChar e presuppone che la categoria non cambierà mai, potrebbe essere necessario aggiornarla.
Motivo della modifica
Questa modifica è stata apportata in modo che le categorie restituite dal tipo Char siano coerenti con lo standard Unicode e il tipo CharUnicodeInfo.
API interessate
- System.Char.GetUnicodeCategory
- System.Char.IsLetter
- System.Char.IsPunctuation
- System.Char.IsSymbol
- System.Char.IsLower
Inoltre, qualsiasi classe che dipende da Char per ottenere la categoria di caratteri Unicode, ad esempio Regex, è interessata da questa modifica.