Partilhar via


Use StringComparison ordinal

TypeName

UseOrdinalStringComparison

CheckId

CA1309

Category (Categoria)

Microsoft.globalização

Quebrando alterar

Não separável

Causa

Uma operação de comparação de cadeia de caracteres de caracteres que é não lingüística não define o StringComparison parâmetro para um Ordinal or OrdinalIgnoreCase.

Descrição da regra

Muitos string operações, mais importantes a Compare() e Equals() métodos, agora fornecem uma sobrecarga que aceita um StringComparision valor de enumeração sistema autônomo um parâmetro.

Quando você especifica um dos StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase, a comparação de cadeia de caracteres de caracteres será não lingüística.Ou seja, os recursos que são específicos de linguagem natural são ignorados quando tomar decisões de comparação.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 parametrizadas por cultura.sistema autônomo resultado, configurando explicitamente o parâmetro para um o StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase, seu código geralmente ganha velocidade, aumenta a precisão e se torna mais confiável.

Como corrigir violações

Para corrigir uma violação dessa regra, altere o método de comparação de cadeias de caracteres para uma sobrecarga que aceita o StringComparison enumeração sistema autônomo um parâmetro e especifique qualquer uma Ordinal or OrdinalIgnoreCase.Por exemplo: alterar String.Compare(str1, str2) para String.Compare(str1, str2, StringComparison.Ordinal).

Quando suprimir avisos

É seguro eliminar um aviso da regra quando a biblioteca ou aplicativo destina para um audiência local limitado ou quando a semântica da cultura corrente deve ser usada.

Consulte também

Referência

Especificar StringComparison

Outros recursos

Avisos de globalização