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