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.
CA2265: Vergelijk
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA2264 |
| Titel | Vergelijk Span<T> niet met null of default |
| Categorie | Gebruik |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Als waarschuwing |
| Toepasselijke talen | C# en Visual Basic |
Oorzaak
Een Span<T> exemplaar wordt vergeleken met null of default.
Beschrijving van regel
Een tijdsspanne vergelijken met null of default doet misschien niet wat u bedoelde.
default en de null letterlijke worden impliciet geconverteerd naar Span<T>.Empty.
Hoe schendingen op te lossen
Verwijder de redundante vergelijking of maak de code explicieter door in plaats daarvan aan te roepen IsEmpty .
Voorbeeld
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 span wilt vergelijken met de lege span.
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 voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.