Char 方法现在为 Latin-1 字符向量中的字符返回正确的 Unicode 分类。 类别与 Unicode 标准的类别匹配。
更改描述
在以前的 .NET 版本中, Char 方法对 Latin-1 范围内的字符使用了 Unicode 类别的固定列表。 但是,Unicode 标准自实施这些 API 以来更改了其中一些字符的类别,从而造成了差异。 此外,遵循 Unicode 标准的 Char 和 CharUnicodeInfo API 之间也存在差异。 在 .NET 5 及更高版本中, Char 方法使用并返回与所有字符的 Unicode 标准匹配的 Unicode 类别。
下表显示了 Unicode 类别在 .NET 5 中已更改的字符:
| 字符 | Unicode 类别 在以前的 .NET 版本中 |
Unicode 类别 在 .NET 5 及更高版本中 |
|---|---|---|
| § (\u00a7) | OtherSymbol |
OtherPunctuation |
| ª (\u00aa) | LowercaseLetter |
OtherLetter |
| 害羞(\u00ad) | DashPunctuation |
Format |
| \u00b6) | OtherSymbol |
OtherPunctuation |
| ー (\u00ba) | LowercaseLetter |
OtherLetter |
已引入的版本
.NET 5.0
建议的措施
如果你有任何通过使用 Char 类来获取 Unicode 字符类别的代码,并且假设该类别永远不会更改,那么你可能需要更新它。
更改原因
进行了此更改,使类型返回的 Char 类别与 Unicode 标准和 CharUnicodeInfo 类型保持一致。