Compartir a través de


Categoría Unicode modificada para algunos caracteres del alfabeto latino 1

Char los métodos ahora devuelven la categoría Unicode correcta para los caracteres del intervalo Latino-1. La categoría coincide con la del estándar Unicode.

Descripción del cambio

En versiones anteriores de .NET, Char los métodos usaban una lista fija de categorías Unicode para caracteres del intervalo Latino-1. Sin embargo, el estándar Unicode ha cambiado las categorías de algunos de estos caracteres desde que se implementaron esas API, creando una discrepancia. Además, también hubo una discrepancia entre los API Char y CharUnicodeInfo, que siguen el estándar Unicode. En .NET 5 y versiones posteriores, Char los métodos usan y devuelven la categoría Unicode que coincide con el estándar Unicode para todos los caracteres.

En la tabla siguiente se muestran los caracteres cuyas categorías Unicode han cambiado en .NET 5:

Carácter Categoría Unicode
en versiones anteriores de .NET
Categoría Unicode
en .NET 5 y versiones posteriores
§ (\u00a7) OtherSymbol OtherPunctuation
ª (\u00aa) LowercaseLetter OtherLetter
SHY (\u00ad) DashPunctuation Format
• (\u00b6) OtherSymbol OtherPunctuation
º (\u00ba) LowercaseLetter OtherLetter

Versión introducida

.NET 5.0

Si tiene algún código que obtenga la categoría de caracteres Unicode mediante la Char clase y suponga que la categoría nunca cambiará, es posible que tenga que actualizarla.

Motivo del cambio

Este cambio se realizó para que las categorías devueltas por el Char tipo sean coherentes con el estándar Unicode y el CharUnicodeInfo tipo.

Las APIs afectadas

Además, cualquier clase que dependa Char de para obtener la categoría de caracteres Unicode, por ejemplo, Regex, se ve afectada por este cambio.