CA1855: Použijte span<T>. Clear() místo span<T>. Fill()
Vlastnost | Hodnota |
---|---|
ID pravidla | CA1855 |
Název | Použijte span<T>. Clear() místo span<T>. Fill() |
Kategorie | Výkon |
Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
Povoleno ve výchozím nastavení v .NET 9 | Jako návrh |
Příčina
Span<T>.Fill(T) je volána k vyplnění prvků rozsahu výchozí hodnotou.
Popis pravidla
Volání je efektivnější než volání Span<T>.Clear() Span<T>.Fill(T) k vyplnění prvků rozsahu výchozí hodnotou.
Jak opravit porušení
Nahraďte hovor Span<T>.Fill(T) voláním Span<T>.Clear().
Příklad
Následující fragment kódu ukazuje porušení ca1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Následující fragment kódu opraví porušení zásad:
void M(Span<byte> span)
{
span.Clear();
}
Kdy potlačit upozornění
Pokud výkon není problém, je bezpečné toto upozornění potlačit.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none
konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.