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.
Las operaciones de cadena sensibles a la cultura son ventajosas si está creando aplicaciones diseñadas para mostrar los resultados a los usuarios por cultura. De manera predeterminada, los métodos que tienen en cuenta las referencias culturales obtienen la referencia cultural que van a usar de la propiedad CurrentCulture del subproceso actual.
En ocasiones, las operaciones de cadena que tienen en cuenta la referencia cultural no son el comportamiento más deseable. Si se utilizan operaciones que tienen en cuenta las referencias culturales cuando los resultados deben ser independientes de las referencias culturales, podrían producirse errores de código en referencias culturales con reglas de ordenación y asignaciones de mayúsculas y minúsculas personalizadas. Para obtener un ejemplo, vea la sección Comparaciones de cadenas que usan la referencia cultural actual en Procedimientos recomendados para usar cadenas.
Si las operaciones de cadenas deberían tener en cuenta las referencias culturales o no depende de cómo use la aplicación los resultados. Las operaciones de cadena que muestran los resultados al usuario deben normalmente ser sensibles a la cultura. Por ejemplo, si una aplicación muestra una lista ordenada de cadenas localizadas en un cuadro de lista, la aplicación debe realizar una ordenación que tenga en cuenta la referencia cultural.
Los resultados de las operaciones de cadenas que se usan internamente no deberían normalmente tener en cuenta las referencias culturales. En general, si la aplicación trabaja con nombres de archivo, formatos de persistencia o información simbólica que no se muestra al usuario, los resultados de las operaciones de cadena no deben variar según la referencia cultural. Por ejemplo, si una aplicación compara una cadena para determinar si es una etiqueta XML reconocida, la comparación no debe tener en cuenta la referencia cultural. Asimismo, si una decisión de seguridad se basa en el resultado de una comparación de cadenas o de cambio de mayúsculas a minúsculas, la operación no debería tener en cuenta las referencias culturales para asegurarse de que el resultado no se vea afectado por el valor de CurrentCulture.
La mayoría de los métodos de .NET que de forma predeterminada realizan operaciones de cadenas que tienen en cuenta la referencia cultural también proporcionan una sobrecarga que permite garantizar resultados que no tienen en cuenta la referencia cultural. Estas sobrecargas que toman un argumento CultureInfo permiten eliminar variaciones de referencia cultural en reglas de ordenación y asignaciones de mayúsculas y minúsculas. Para las operaciones de cadena que no tienen en cuenta la referencia cultural, especifique la referencia cultural como CultureInfo.InvariantCulture.
En esta sección
En los artículos de esta sección se muestra cómo realizar operaciones de cadenas que no son sensibles a la cultura, utilizando métodos de .NET que son sensibles a la cultura por defecto.
Realizar comparaciones de cadenas que no tienen en cuenta las referencias culturales
Se describe cómo usar los métodos String.Compare y String.CompareTo para realizar comparaciones de cadenas que no distinguen entre referencias culturales.
Realizar cambios de mayúsculas y minúsculas que no distinguen entre referencias culturales
Se describe cómo usar los métodos String.ToUpper, String.ToLower, Char.ToUpper y Char.ToLower para realizar cambios de mayúsculas y minúsculas que no distinguen entre referencias culturales.
Realizar operaciones de cadenas que no tienen en cuenta las referencias culturales en colecciones
Describe cómo usar la clase CaseInsensitiveComparer, CaseInsensitiveHashCodeProvider, SortedList, ArrayList.Sort y CollectionsUtil.CreateCaseInsensitiveHashtable para realizar operaciones que no son específicas de cultura en colecciones.
Realizar operaciones de cadenas que no tienen en cuenta las referencias culturales en matrices
Describe cómo usar los métodos Array.Sort y Array.BinarySearch para realizar operaciones que no son sensibles a las diferencias culturales en matrices.