Sdílet prostřednictvím


CA2265: Nerovnávejte Span<T> se s nulldefault

Vlastnost Hodnota
ID pravidla CA2264
Název Nerovnávejte se ani null nerovnávejte Span<T>default
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení v .NET 9 Jako upozornění

Příčina

Instance Span<T> je porovnána s null nebo default.

Popis pravidla

Porovnání rozsahu s rozsahem null nebo default nemusí dělat to, co jste chtěli. defaultnull literál je implicitně převeden na Span<T>.Empty.

Jak opravit porušení

Odeberte redundantní porovnání nebo vytvořte kód explicitnější voláním IsEmpty .

Příklad

Následující fragment kódu ukazuje dvě porušení CA2265 a opravu porušení.

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

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

Kdy potlačit upozornění

Pokud chcete porovnat rozsah s prázdným rozsahem, je bezpečné toto upozornění potlačit.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

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

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Viz také