Share via


Categoria Unicode alterada para alguns caracteres Latin-1

Os métodos Char agora retornam a categoria Unicode correta dos caracteres no intervalo Latin-1. A categoria corresponde ao padrão Unicode.

Descrição das alterações

Em versões anteriores do .NET, os métodos Char usavam uma lista fixa de categorias Unicode para caracteres no intervalo Latin-1. No entanto, o padrão Unicode alterou as categorias de alguns desses caracteres desde que essas APIs foram implementadas, criando uma discrepância. Além disso, também houve uma discrepância entre as APIs Char e CharUnicodeInfo, que seguem o padrão Unicode. No .NET 5 e versões posteriores, os métodos Char usam e retornam a categoria Unicode que corresponde ao padrão Unicode para todos os caracteres.

A seguinte tabela mostra os caracteres cujas categorias Unicode foram alteradas no .NET 5:

Caractere Categoria Unicode
nas versões anteriores do .NET
Categoria Unicode
no .NET 5 e versões posteriores
§ (\u00a7) OtherSymbol OtherPunctuation
ª (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
¶ (\u00b6) OtherSymbol OtherPunctuation
º (\u00ba) LowercaseLetter OtherLetter

Versão introduzida

.NET 5.0

Se você tiver algum código que obtenha a categoria de caractere Unicode usando a classe Char e assuma que essa categoria nunca será alterada, talvez seja necessário atualizá-lo.

Motivo da alteração

Essa alteração foi feita para que as categorias retornadas pelo tipo Char sejam consistentes com o padrão Unicode e o tipo CharUnicodeInfo.

APIs afetadas

Além disso, qualquer classe que depende de Char para obter a categoria de caracteres Unicode (por exemplo, Regex) será afetada por essa alteração.