Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
CA2265:
| Özellik | Değer |
|---|---|
| Kural Kimliği | CA2264 |
| Başlık |
Span<T> öğesini null veya default ile karşılaştırmayın |
| Kategori | Kullanım |
| Düzeltme bozucu ya da bozmayan olabilir | Kesintisiz |
| .NET 10'da varsayılan olarak etkin | Uyarı olarak |
| Geçerli diller | C# ve Visual Basic |
Neden
Bir Span<T> örnek veya nullile default karşılaştırılır.
Kural açıklaması
Bir aralığı null veya default ile karşılaştırmak, düşündüğünüz gibi çalışmayabilir.
default ve null değişmez değeri örtük olarak Span<T>.Empty dönüştürülür.
İhlalleri düzeltme
Yedekli karşılaştırmayı kaldırın veya bunun yerine IsEmpty çağırarak 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?
Alanı boş bir aralıkla karşılaştırmak istiyorsanız, bu uyarıyı yok saymanız 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 noneolarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.CA2265.severity = none
Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.