次の方法で共有


一部のラテン 1 文字の Unicode カテゴリが変更されました

Char メソッドは、Latin-1 範囲の文字に対して正しい Unicode カテゴリを返すようになりました。 カテゴリは Unicode 標準のカテゴリと一致します。

変更の説明

以前の .NET バージョンでは、 Char メソッドでは、Latin-1 範囲の文字に Unicode カテゴリの固定リストが使用されました。 ただし、Unicode 標準では、これらの API が実装されて以降、これらの文字の一部のカテゴリが変更され、不一致が生じていました。 さらに、Unicode 標準に従う Char API と CharUnicodeInfo API の間にも不一致が生じた。 .NET 5 以降のバージョンでは、 Char メソッドは、すべての文字の Unicode 標準に一致する Unicode カテゴリを使用して返します。

次の表は、.NET 5 で Unicode カテゴリが変更された文字を示しています。

キャラクター Unicode カテゴリ
以前の .NET バージョンの場合
Unicode カテゴリ
.NET 5 以降のバージョンの場合
§ (\u00a7) OtherSymbol OtherPunctuation
ª (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
¶ (\u00b6) OtherSymbol OtherPunctuation
º (\u00ba) LowercaseLetter OtherLetter

導入されたバージョン

.NET 5.0

Char クラスを使用して Unicode 文字カテゴリを取得し、カテゴリが変更されないことを前提とするコードがある場合は、更新が必要になることがあります。

変更の理由

この変更は、 Char 型によって返されるカテゴリが Unicode 標準と CharUnicodeInfo の両方の型と一致するように行われました。

影響を受ける API

さらに、Unicode 文字カテゴリを取得するために Char に依存するすべてのクラス ( Regexなど) は、この変更の影響を受けます。