Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA1855 |
| Titel | Gebruik Span<T>. Clear() in plaats van Span<T>. Fill() |
| Categorie | Prestaties |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Als suggestie |
| Toepasselijke talen | C# |
Oorzaak
Span<T>.Fill(T) wordt aangeroepen om de elementen van een span te vullen met een standaardwaarde.
Beschrijving van regel
Het is efficiënter om Span<T>.Clear() aan te roepen dan Span<T>.Fill(T) om de spanelementen met een standaardwaarde te vullen.
Hoe schendingen op te lossen
Vervang de aanroep naar Span<T>.Fill(T) door een aanroep op Span<T>.Clear().
Voorbeeld
In het volgende codefragment ziet u een schending van CA1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Met het volgende codefragment wordt de schending opgelost:
void M(Span<byte> span)
{
span.Clear();
}
Wanneer waarschuwingen onderdrukken
Het is veilig om deze waarschuwing te onderdrukken als de prestaties geen probleem zijn.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
Zie voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.