CA2265: Nerovnávejte Span<T>
se s null
default
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. default
null
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.