Udostępnij za pośrednictwem


Zmieniono kategorię Unicode dla niektórych znaków łacińskich-1

Char metody zwracają teraz prawidłową kategorię Unicode dla znaków w zakresie Latyno-1. Kategoria jest zgodna ze standardem Unicode.

Opis zmiany

W poprzednich wersjach Char platformy .NET metody używały stałej listy kategorii Unicode dla znaków w zakresie latyno-1. Jednak standard Unicode zmienił kategorie niektórych z tych znaków, ponieważ te interfejsy API zostały zaimplementowane, tworząc rozbieżność. Ponadto wystąpiła rozbieżność między interfejsami Char API i CharUnicodeInfo , które są zgodne ze standardem Unicode. W wersjach .NET 5 i nowszych Char metody używają i zwracają kategorię Unicode zgodną ze standardem Unicode dla wszystkich znaków.

W poniższej tabeli przedstawiono znaki, których kategorie Unicode zostały zmienione na platformie .NET 5:

Znak Kategoria Unicode
w poprzednich wersjach platformy .NET
Kategoria Unicode
w programie .NET 5 i nowszych wersjach
§ (\u00a7) OtherSymbol OtherPunctuation
a (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
} (\u00b6) OtherSymbol OtherPunctuation
a (\u00ba) LowercaseLetter OtherLetter

Wprowadzona wersja

.NET 5.0

Jeśli masz jakikolwiek kod, który pobiera kategorię znaków Unicode przy użyciu Char klasy i zakłada, że kategoria nigdy się nie zmieni, może być konieczne jej zaktualizowanie.

Przyczyna wprowadzenia zmiany

Ta zmiana została wprowadzona tak, aby kategorie zwracane przez typ były zgodne zarówno ze standardem Char Unicode, jak i typem CharUnicodeInfo .

Dotyczy interfejsów API

Ponadto każda klasa, która zależy od Char uzyskania kategorii znaków Unicode, na przykład , Regexma wpływ na tę zmianę.