Geänderte Unicode-Kategorie für einige Zeichen in Lateinisch-1

Char-Methoden geben nun die richtige Unicode-Kategorie für Zeichen im Bereich Lateinisch-1 zurück. Die Kategorie entspricht der des Unicode-Standards.

Änderungsbeschreibung

In früheren Versionen von .NET verwendeten Char-Methoden eine feste Liste mit Unicode-Kategorien für Zeichen im Bereich Lateinisch-1. Im Unicode-Standard wurden jedoch seit der Implementierung dieser APIs die Kategorien für einige dieser Zeichen geändert, was zu Abweichungen führte. Außerdem gab es Unterschiede zwischen Char und CharUnicodeInfo-APIs, die dem Unicode-Standard folgen. Ab .NET 5 verwenden Char-Methoden für alle Zeichen die dem Unicode-Standard entsprechende Unicode-Kategorie und geben auch diese zurück.

In der folgenden Tabelle sind die Zeichen aufgeführt, deren Unicode-Kategorie sich in .NET 5 geändert hat:

Zeichen Unicode-Kategorie
in früheren .NET-Versionen
Unicode-Kategorie
in .NET 5 und höher
§ (\u00a7) OtherSymbol OtherPunctuation
ª (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
¶ (\u00b6) OtherSymbol OtherPunctuation
º (\u00ba) LowercaseLetter OtherLetter

Eingeführt in Version

.NET 5.0

Wenn Sie über Code verfügen, der die Unicode-Zeichenkategorie mithilfe der Klasse Char abruft und davon ausgeht, dass die Kategorie sich nie ändert, müssen Sie diesen möglicherweise aktualisieren.

Grund für die Änderung

Diese Änderung wurde vorgenommen, damit die vom Typ Char zurückgegebenen Kategorien sowohl dem Unicode-Standard als auch dem Typ CharUnicodeInfo entsprechen.

Betroffene APIs

Darüber hinaus sind von dieser Änderung alle Klassen betroffen, die beim Abrufen der Unicode-Zeichenkategorie von Char abhängen, z. B. Regex.