Partilhar via


CA1310: Especifique StringComparison para correção

Propriedade valor
ID da regra CA1310
Cargo Especifique StringComparison para correção
Categoria Globalização
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 8 Não

Causa

Uma operação de comparação de cadeia de caracteres usa uma sobrecarga de método que não define um StringComparison parâmetro e usa a comparação de cadeia de caracteres específica da cultura por padrão. Portanto, seu comportamento variará com base nas configurações de localidade do usuário atual.

Descrição da regra

Um método de comparação de cadeia de caracteres que usa a comparação de cadeia de caracteres específica da cultura por padrão pode ter um comportamento de tempo de execução potencialmente não intencional que não corresponde à intenção do usuário. Recomenda-se que você use a sobrecarga com o StringComparison parâmetro para correção e clareza de intenção.

Esta regra sinaliza métodos de comparação de cadeia de caracteres que usam o valor específico StringComparison da cultura por padrão. Para obter mais informações, consulte Comparações de cadeia de caracteres que usam a cultura atual.

Nota

Se você quiser ver violações para todos os métodos de comparação de cadeia de caracteres, independentemente da comparação de cadeia de caracteres padrão usada pelo método, use CA1307: Especifique StringComparison para clareza .

Como corrigir violações

Para corrigir uma violação dessa regra, altere os métodos de comparação de cadeia de caracteres para sobrecargas que aceitam a StringComparison enumeração como um parâmetro. Por exemplo, altere String.Compare(str1, str2) para String.Compare(str1, str2, StringComparison.Ordinal).

Quando suprimir avisos

É seguro suprimir um aviso dessa regra quando a biblioteca ou o aplicativo não se destina a ser localizado.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable CA1310
// The code that's violating the rule is on this line.
#pragma warning restore CA1310

Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.CA1310.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Consulte também