Partilhar via


Executar operações de cadeia de caracteres insensíveis à cultura em matrizes

Sobrecargas dos Array.Sort métodos e Array.BinarySearch executam classificações sensíveis à cultura por padrão usando a Thread.CurrentCulture propriedade. Os resultados sensíveis à cultura retornados por esses métodos podem variar de acordo com a cultura devido a diferenças nas ordens de classificação. Para eliminar o comportamento sensível à cultura, use uma das sobrecargas desse método que aceita um comparer parâmetro. O comparer parâmetro especifica a IComparer implementação a ser usada ao comparar elementos na matriz. Para o parâmetro, especifique uma classe de comparação invariante personalizada que use CultureInfo.InvariantCulture. Um exemplo de uma classe de comparação invariante personalizada é fornecido no subtópico "Usando a classe SortedList" do tópico Executar operações de cadeia de caracteres insensíveis à cultura em coleções .

Nota

Passar CultureInfo.InvariantCulture para um método de comparação executa uma comparação insensível à cultura. No entanto, ele não causa uma comparação não linguística, por exemplo, para caminhos de arquivo, chaves do Registro e variáveis de ambiente. Também não suporta decisões de segurança baseadas no resultado da comparação. Para uma comparação não linguística ou suporte para decisões de segurança baseadas em resultados, o aplicativo deve usar um método de comparação que aceite um StringComparison valor. O pedido deve então ser aprovado Ordinal.

Consulte também