CA2265: veya ile karşılaştırma Span<T>
null
default
Ö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 default
ile 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ı. default
null
ve değişmez değeri örtük olarak olarak olarak Span<T>.Empty
dö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.