Compartilhar via


CA1309: Usar ordinal StringComparison

TypeName

UseOrdinalStringComparison

CheckId

CA1309

<strong>Categoria</strong>

Microsoft.Globalization

Alteração significativa

Não-separável

Causa

Não define uma operação de comparação de seqüência de caracteres que está nonlinguistic a StringComparison parâmetro a um Ordinal ou OrdinalIgnoreCase.

Descrição da regra

Muitas operações, mais importantes em seqüência a String.Compare e String.Equals métodos, agora fornecem uma sobrecarga que aceita um StringComparision o valor de enumeração como um parâmetro.

Quando você especificar um StringComparison.Ordinal ou OrdinalIgnoreCase, a comparação de seqüência de caracteres será nonlinguistic.Ou seja, os recursos que são específicos ao idioma natural são ignorados quando a comparação decisões são tomadas.Isso significa que as decisões são baseadas em comparações de byte simples e ignorar maiúsculas e minúsculas ou equivalência tabelas que são parametrizadas por cultura.Como resultado, configurando explicitamente o parâmetro como o StringComparison.Ordinal ou OrdinalIgnoreCase, seu código ganhar velocidade, aumenta a precisão e torna-se mais confiável com freqüência.

Como corrigir violações

Para corrigir uma violação desta regra, alterar o método de comparação de seqüência de caracteres para uma sobrecarga que aceita o System.StringComparison enumeração como um parâmetro e especificar o Ordinal ou OrdinalIgnoreCase.Por exemplo, alterar String.Compare(str1, str2) para String.Compare(str1, str2, StringComparison.Ordinal).

Quando suprimir avisos

É seguro eliminar um aviso esta regra quando a biblioteca ou o aplicativo é destinado para um público local limitado ou quando a semântica da cultura atual deve ser usada.

Consulte também

Referência

CA1307: Especificar StringComparison

Outros recursos

Avisos de globalização