U některých znaků v latince se změnila kategorie Unicode.
Char metody nyní vrací správnou kategorii Unicode pro znaky v oblasti latin-1. Kategorie odpovídá standardu Unicode.
Změna popisu
V předchozích verzích Char .NET používaly metody pevný seznam kategorií Unicode pro znaky v oblasti Latin-1. Standard Unicode ale od implementace těchto rozhraní API změnil kategorie některých z těchto znaků a vytvořil nesrovnalosti. Kromě toho došlo také k nesrovnalostem mezi Char rozhraními API a CharUnicodeInfo rozhraními API, které se řídí standardem Unicode. V .NET 5 a novějších verzích Char používají metody a vracejí kategorii Unicode, která odpovídá standardu Unicode pro všechny znaky.
Následující tabulka ukazuje znaky, jejichž kategorie Unicode se v .NET 5 změnily:
Znak | Kategorie Unicode v předchozích verzích .NET |
Kategorie Unicode v .NET 5 a novějších verzích |
---|---|---|
§ (\u00a7) | OtherSymbol |
OtherPunctuation |
znaky (\u00aa) | LowercaseLetter |
OtherLetter |
SHY (\u00ad) | DashPunctuation |
Format |
¶ (\u00b6) | OtherSymbol |
OtherPunctuation |
º (\u00ba) | LowercaseLetter |
OtherLetter |
Zavedená verze
.NET 5.0
Doporučená akce
Pokud máte kód, který získá kategorii znaků Unicode pomocí Char třídy a předpokládá, že kategorie se nikdy nezmění, možná ji budete muset aktualizovat.
Důvod změny
Tato změna byla provedena tak, aby kategorie vrácené typem Char byly konzistentní se standardem Unicode i typem CharUnicodeInfo .
Ovlivněná rozhraní API
- System.Char.GetUnicodeCategory
- System.Char.IsLetter
- System.Char.IsPunctuation
- System.Char.IsSymbol
- System.Char.IsLower
Kromě toho každá třída, která závisí na Char získání kategorie znaků Unicode, Regexnapříklad , je ovlivněna touto změnou.