CA1855: usare span<T>. Clear() anziché Span<T>. Fill()
Proprietà | valore |
---|---|
ID regola | CA1855 |
Title | Usare Span<T>. Clear() anziché Span<T>. Fill() |
Categoria | Prestazioni |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitato per impostazione predefinita in .NET 9 | Come suggerimento |
Causa
Span<T>.Fill(T) viene chiamato per riempire gli elementi di un intervallo con un valore predefinito.
Descrizione regola
È più efficiente chiamare che chiamare Span<T>.Clear()Span<T>.Fill(T) per riempire gli elementi dell'intervallo con un valore predefinito.
Come correggere le violazioni
Sostituire la chiamata a Span<T>.Fill(T) con una chiamata a Span<T>.Clear().
Esempio
Il frammento di codice seguente mostra una violazione di CA1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Il frammento di codice seguente corregge la violazione:
void M(Span<byte> span)
{
span.Clear();
}
Quando eliminare gli avvisi
Se le prestazioni non sono un problema, è possibile eliminare questo avviso.
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 CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
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.CA1855.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.