Megosztás a következőn keresztül:


CA1855: A Span<T> használata. Clear() helyett Span<T>. Kitöltés()

Tulajdonság Érték
Szabályazonosító CA1855
Cím Használja a Span<T> parancsot. Clear() helyett Span<T>. Kitöltés()
Kategória Teljesítmény
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Javaslatként

Ok

Span<T>.Fill(T) egy span elemeinek alapértelmezett értékkel való kitöltésére hívjuk meg.

Szabály leírása

Hatékonyabb a hívás Span<T>.Clear() , mint meghívni Span<T>.Fill(T) a span elemeinek alapértelmezett értékkel való kitöltését.

Szabálysértések kijavítása

Cserélje le a hívást a következő Span<T>.Fill(T) hívásra Span<T>.Clear(): .

Példa

A következő kódrészlet a CA1855 megsértését mutatja be:

void M(Span<byte> span)
{
    span.Fill(0);
}

A következő kódrészlet kijavítja a szabálysértést:

void M(Span<byte> span)
{
    span.Clear();
}

Mikor kell letiltani a figyelmeztetéseket?

Ha a teljesítmény nem okoz problémát, nyugodtan el lehet tiltani ezt a figyelmeztetést.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.