Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Acción recomendada
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
- System.Char.GetUnicodeCategory
- System.Char.IsLetter
- System.Char.IsPunctuation
- System.Char.IsSymbol
- System.Char.IsLower
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.