Partilhar via


Executar operações de cadeia de caracteres que não diferenciam a cultura

As operações de cadeia de caracteres sensíveis à cultura são vantajosas se você estiver criando aplicativos projetados para exibir resultados aos usuários por cultura. Por padrão, os métodos sensíveis à cultura obtêm a cultura a ser usada da CurrentCulture propriedade para o thread atual.

Às vezes, operações de cadeia de caracteres sensíveis à cultura não são o comportamento desejado. O uso de operações sensíveis à cultura quando os resultados devem ser independentes da cultura pode fazer com que o código do aplicativo falhe em culturas com mapeamentos de casos personalizados e regras de classificação. Para obter um exemplo, consulte a seção Comparações de cadeia de caracteres que usam a cultura atual em Práticas recomendadas para uso de cadeias de caracteres.

Se as operações de cadeia de caracteres devem ser sensíveis à cultura ou à cultura depende de como seu aplicativo usa os resultados. As operações de cadeia de caracteres que exibem resultados para o usuário normalmente devem ser sensíveis à cultura. Por exemplo, se um aplicativo exibir uma lista classificada de cadeias de caracteres localizadas em uma caixa de listagem, o aplicativo deverá executar uma classificação sensível à cultura.

Os resultados de operações de cadeia de caracteres usadas internamente normalmente não diferenciam a cultura. Em geral, se o aplicativo estiver trabalhando com nomes de arquivo, formatos de persistência ou informações simbólicas que não são exibidas para o usuário, os resultados das operações de cadeia de caracteres não devem variar de acordo com a cultura. Por exemplo, se um aplicativo comparar uma cadeia de caracteres para determinar se ela é uma marca XML reconhecida, a comparação não deverá ser sensível à cultura. Além disso, se uma decisão de segurança for baseada no resultado de uma comparação de cadeia de caracteres ou operação de alteração de caso, a operação deve ser insensível à cultura para garantir que o resultado não seja afetado pelo valor de CurrentCulture.

A maioria dos métodos .NET que , por padrão , executam operações de cadeia de caracteres sensíveis à cultura também fornecem uma sobrecarga que permite garantir resultados insensíveis à cultura. Essas sobrecargas que usam um CultureInfo argumento permitem eliminar variações culturais em mapeamentos de casos e regras de classificação. Para operações de cadeia de caracteres que não diferenciam cultura, especifique a cultura como CultureInfo.InvariantCulture.

Nesta secção

Os artigos desta seção demonstram como executar operações de cadeia de caracteres que não diferenciam a cultura usando métodos .NET que são sensíveis à cultura por padrão.

Realizando comparações de cadeia de caracteres insensíveis à cultura
Descreve como usar os String.Compare métodos e String.CompareTo para executar comparações de cadeia de caracteres insensíveis à cultura.

Realizando alterações de maiúsculas e minúsculas que não diferenciam a cultura
Descreve como usar os métodos , String.ToLower, Char.ToUppere para executar alterações de maiúsculas String.ToUppere Char.ToLower minúsculas que não diferenciam cultura.

Executando operações de cadeia de caracteres insensíveis à cultura em coleções
Descreve como usar a CaseInsensitiveComparerclasse ArrayList.SortSortedList, CaseInsensitiveHashCodeProvider e CollectionsUtil.CreateCaseInsensitiveHashtable executar operações que não diferenciam a cultura em coleções.

Executando operações de cadeia de caracteres insensíveis à cultura em matrizes
Descreve como usar os métodos e Array.BinarySearch para executar operações que não diferenciam a Array.Sort cultura em matrizes.

Consulte também