Condividi tramite


CA2265: Non confrontare Span<T> o nulldefault

Proprietà valore
ID regola CA2264
Title Non confrontare Span<T> con null o default
Categoria Utilizzo
La correzione causa un'interruzione o meno Non causa un'interruzione
Abilitato per impostazione predefinita in .NET 9 Come avviso

Causa

Un'istanza Span<T> viene confrontata con null o default.

Descrizione regola

Il confronto di un intervallo con null o default potrebbe non eseguire le operazioni desiderate. default e il null valore letterale vengono convertiti in modo implicito in Span<T>.Empty.

Come correggere le violazioni

Rimuovere il confronto ridondante o rendere il codice più esplicito chiamando IsEmpty .

Esempio

Il frammento di codice seguente mostra due violazioni di CA2265 e la correzione per le violazioni.

Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }

// Fixes the violation.
if (span.IsEmpty) { }

Quando eliminare gli avvisi

È possibile eliminare questo avviso in modo sicuro se si intende confrontare l'intervallo con l'intervallo vuoto.

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedi anche