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 8 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.