有些 Latin-1 字元的 Unicode 類別已變更
Char 方法現在會為 Latin-1 範圍內的字元,傳回正確的 Unicode 類別。 此類別符合 Unicode 標準的類別。
變更描述
在舊版的 .NET 中,Char 方法對於 Latin-1 範圍內的字元,使用固定的 Unicode 類別清單。 然而 Unicode 標準已變更某些字元的類別,但因為這些 API 已實作,所以產生了差異。 此外,Char 和遵循 Unicode 標準的 CharUnicodeInfo API 之間也有差異。 在 .NET 5 及更新版本中,Char 方法會使用 及傳回符合所有字元皆適用之 Unicode 標準的 Unicode 類別。
下表顯示 .NET 5 中 Unicode 類別已有變更的字元:
字元 | Unicode 類別 在舊版 .NET 中 |
Unicode 類別 在 .NET 5.0 與更新版本中 |
---|---|---|
§ (\u00a7) | OtherSymbol |
OtherPunctuation |
ª (\u00aa) | LowercaseLetter |
OtherLetter |
SHY (\u00ad) | DashPunctuation |
Format |
¶ (\u00b6) | OtherSymbol |
OtherPunctuation |
º (\u00ba) | LowercaseLetter |
OtherLetter |
導入的版本
.NET 5.0
建議的動作
您如有任何程式碼使用 Char 類別取得 Unicode 字元類別,並假設該類別永不變更,必須加以更新。
變更原因
此變更的目的在讓 Char 類型傳回的類別,能同時符合 Unicode 標準和 CharUnicodeInfo 類型。