Delen via


CA2265: Niet vergelijken met Span<T> null of default

Eigenschappen Weergegeven als
Regel-id CA2264
Titel Niet vergelijken met Span<T> null of default
Categorie Gebruik
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 9 Als waarschuwing

Oorzaak

Een Span<T> exemplaar wordt vergeleken met null of default.

Beschrijving van regel

Een periode vergelijken met null of default doen mogelijk niet wat u bedoelde. default en de null letterlijke worden impliciet geconverteerd naar Span<T>.Empty.

Schendingen oplossen

Verwijder de redundante vergelijking of maak de code explicieter door in plaats daarvan aan te roepen IsEmpty .

Opmerking

In het volgende codefragment ziet u twee schendingen van CA2265 en de oplossing voor de schendingen.

Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }

// Fixes the violation.
if (span.IsEmpty) { }

Wanneer waarschuwingen onderdrukken

Het is veilig om deze waarschuwing te onderdrukken als u de spanwijdte wilt vergelijken met de lege periode.

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 CA2265
// The code that's violating the rule is on this line.
#pragma warning restore CA2265

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.CA2265.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Zie ook