CA2265: Non confrontare Span<T>
o null
default
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.