CA2265: veya ile karşılaştırma Span<T> nulldefault

Özellik Değer
Kural Kimliği CA2264
Başlık veya ile null karşılaştırma Span<T>default
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 9'da varsayılan olarak etkin Uyarı olarak

Neden

Bir Span<T> örnek veya defaultile null karşılaştırılır.

Kural açıklaması

Bir yayılma alanının null hedeflenenle karşılaştırılması veya default yapılmaması. defaultnull ve değişmez değeri örtük olarak olarak olarak Span<T>.Emptydönüştürülür.

İhlalleri düzeltme

Bunun yerine çağırarak IsEmpty yedekli karşılaştırmayı kaldırın veya kodu daha açık hale getirin.

Örnek

Aşağıdaki kod parçacığı iki CA2265 ihlalini ve ihlallerin düzeltmesini gösterir.

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

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

Uyarıların ne zaman bastırılması gerekiyor?

Yayılma alanı ile boş aralığı karşılaştırmak istiyorsanız bu uyarıyı gizlemeniz güvenlidir.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none olarak ayarlayın.

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

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Ayrıca bkz.