Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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 10 | 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.