Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
CA2265: Não comparar
| Property | valor |
|---|---|
| ID da regra | CA2264 |
| Título | Não se compare Span<T> com null ou default |
| Categoria | Utilização |
| A correção está quebrando ou não quebrando | Sem quebra |
| Habilitado por padrão no .NET 10 | Como aviso |
Motivo
Uma Span<T> instância é comparada com null ou default.
Descrição da regra
Comparar um período com null ou default pode não fazer o que você pretendia.
default e os literais null são implicitamente convertidos em Span<T>.Empty.
Como corrigir violações
Remova a comparação redundante ou torne o código mais explícito chamando IsEmpty em vez disso.
Exemplo
O trecho de código a seguir mostra duas violações de CA2265 e a correção para as violações.
Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }
// Fixes the violation.
if (span.IsEmpty) { }
Quando suprimir avisos
É seguro suprimir esse aviso se você pretendia comparar o vão com o vão vazio.
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 CA2265
// The code that's violating the rule is on this line.
#pragma warning restore CA2265
Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.CA2265.severity = none
Para obter mais informações, consulte Como suprimir avisos de análise de código.