Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Los String.ToUppermétodos , String.ToLower, Char.ToUppery Char.ToLower proporcionan sobrecargas que no aceptan ningún parámetro. De forma predeterminada, estas sobrecargas sin parámetros realizan cambios de mayúsculas y minúsculas en función del valor de CultureInfo.CurrentCulture. Esto genera resultados que distinguen mayúsculas de minúsculas que pueden variar según la referencia cultural. Para aclarar si desea que los cambios de mayúsculas y minúsculas sean sensibles o insensibles a la cultura, debe usar las sobrecargas de estos métodos que requieren que especifique explícitamente un parámetro culture. Para los cambios de mayúsculas y minúsculas sensibles a la cultura, especifique CultureInfo.CurrentCulture para el parámetro culture. Para los cambios de mayúsculas y minúsculas que no dependen de la cultura, especifique CultureInfo.InvariantCulture para el parámetro culture.
A menudo, las cadenas se convierten a un formato estándar para facilitar una búsqueda posterior más sencilla. Cuando se usan cadenas de esta manera, debe especificar CultureInfo.InvariantCulture para el culture parámetro , ya que el valor de Thread.CurrentCulture puede cambiar potencialmente entre el momento en que se cambia el caso y la hora en que se produce la búsqueda.
Si una decisión de seguridad se basa en una operación de cambio de caso, la operación debe ser insensible a la cultura para garantizar que el resultado no se vea afectado por el valor de CultureInfo.CurrentCulture. Consulte la sección "Comparaciones de cadenas que usan la referencia cultural actual" del artículo Procedimientos recomendados para usar cadenas para ver un ejemplo que muestra cómo las operaciones de cadena que distinguen la referencia cultural pueden generar resultados incoherentes.
String.ToUpper y String.ToLower
Para mayor claridad del código, se recomienda usar siempre las sobrecargas de los métodos String.ToUpper y String.ToLower que le permiten especificar una configuración cultural explícitamente. Por ejemplo, el código siguiente realiza una búsqueda de identificadores. La key.ToLower operación es sensible a la cultura de forma predeterminada, pero este comportamiento no queda claro al leer el código.
Ejemplo
Shared Function LookupKey(key As String) As Object
Return internalHashtable(key.ToLower())
End Function
static object LookupKey(string key)
{
return internalHashtable[key.ToLower()];
}
Si desea que la key.ToLower operación no tenga en cuenta la referencia cultural, cambie el ejemplo anterior como se indica a continuación para usar CultureInfo.InvariantCulture explícitamente al cambiar el caso.
Shared Function LookupKey(key As String) As Object
Return internalHashtable(key.ToLower(CultureInfo.InvariantCulture))
End Function
static object LookupKey(string key)
{
return internalHashtable[key.ToLower(CultureInfo.InvariantCulture)];
}
Char.ToUpper y Char.ToLower
Aunque los métodos Char.ToUpper y Char.ToLower tienen las mismas características que los métodos String.ToUpper y String.ToLower, las únicas culturas que están afectadas son el turco (Türkiye) y el azerbaiyano (latino, Azerbaiyán). Estas son las únicas dos culturas con diferencias de mayúsculas y minúsculas de un solo carácter. Para obtener más información sobre esta asignación de casos únicos, consulte la sección "Casing" en la documentación de la String clase. Para mayor claridad del código y para garantizar resultados coherentes, se recomienda usar siempre las sobrecargas de estos métodos que aceptan un CultureInfo parámetro.