Compartilhar via


Executar operações de cadeia de caracteres sem valor de cultura em matrizes

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

Observação

Passar CultureInfo.InvariantCulture para um método de comparação executa uma comparação sem valor de cultura. No entanto, não causa uma comparação não linguística, por exemplo, para caminhos de arquivos, chaves do Registro e variáveis de ambiente. Também não oferece suporte a decisões de segurança com base no resultado da comparação. Para obter uma comparação não linguística ou suporte para decisões de segurança com base no resultado, o aplicativo deve usar um método de comparação que aceite um valor StringComparison. Assim, o aplicativo deve passar Ordinal.

Confira também