Share via


CA2251: usar String.Equals em vez de String.Compare

Property Valor
ID da regra CA2251
Título Usar String.Equals em vez de String.Compare
Categoria Usage
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Não

Causa

O resultado de uma chamada para String.Compare é comparado a zero.

Descrição da regra

String.Compare foi projetado para produzir uma comparação de ordem total que pode ser usada para classificação. Se o importante para você é apenas se as strings são iguais, é mais simples e provavelmente mais rápido usar uma sobrecarga equivalente de String.Equals.

Como corrigir violações

Para corrigir violações dessa regra, substitua a expressão comparando o resultado de String.Compare com uma chamada para String.Equals.

Quando suprimir avisos

É seguro suprimir avisos dessa regra.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

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

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

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

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

Confira também