CA1855: Użyj opcji Span<T>. Clear() zamiast Span<T>. Fill()
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1855 |
Tytuł | Użyj zakresu<T>. Clear() zamiast Span<T>. Fill() |
Kategoria | Wydajność |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 9 | Jako sugestia |
Przyczyna
Span<T>.Fill(T) element jest wywoływany w celu wypełnienia elementów zakresu wartością domyślną.
Opis reguły
Bardziej wydajne jest wywołanie Span<T>.Clear() metody niż wywołanie Span<T>.Fill(T) w celu wypełnienia elementów zakresu wartością domyślną.
Jak naprawić naruszenia
Zastąp wywołanie metody wywołaniem Span<T>.Fill(T) metody Span<T>.Clear().
Przykład
Poniższy fragment kodu przedstawia naruszenie ca1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Poniższy fragment kodu naprawia naruszenie:
void M(Span<byte> span)
{
span.Clear();
}
Kiedy pomijać ostrzeżenia
Można bezpiecznie pominąć to ostrzeżenie, jeśli wydajność nie jest problemem.
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.