CA2265: Ne hasonlítsa össze Span<T> a nulldefault

Tulajdonság Érték
Szabályazonosító CA2264
Cím Ne hasonlítsa össze Span<T> a nulldefault
Kategória Használat
A javítás romboló vagy nem romboló Nem törhető
Alapértelmezés szerint engedélyezve a .NET 10-ben Figyelmeztetésként
Alkalmazandó nyelvek C# és Visual Basic

Ok

A Span<T> példány összehasonlítva van null-vel vagy default-val.

Szabály leírása

Egy időtartam összehasonlítása a null vagy a default elemmel nem feltétlenül azt eredményezi, amit szándékozott. default és a null konstans implicit módon lesz átalakítva Span<T>.Empty.

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

Távolítsa el a redundáns összehasonlítást, vagy tegye a kódot explicitebbé azáltal, hogy inkább a IsEmpty-t hívja meg.

Példa

Az alábbi kódrészlet a CA2265 két szabálysértést és a szabálysértések kijavítását mutatja be.

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

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

Mikor kell letiltani a figyelmeztetéseket?

Ezt a figyelmeztetést nyugodtan figyelmen kívül lehet hagyni, ha a tartományt az üres tartományhoz szeretné hasonlítani.

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

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

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

Lásd még