CA2251: Üzerinde kullanın String.Equals
String.Compare
Özellik | Değer |
---|---|
Kural Kimliği | CA2251 |
Başlık | Üzerinde kullan String.Equals String.Compare |
Kategori | Kullanım |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 9'da varsayılan olarak etkin | Hayır |
Neden
çağrısının String.Compare sonucu sıfırla karşılaştırılır.
Kural açıklaması
String.Compare , sıralama için kullanılabilecek bir toplam düzen karşılaştırması üretmek üzere tasarlanmıştır. Yalnızca dizelerin eşit olup olmadığını önemsiyorsanız, eşdeğer bir aşırı yükleme kullanmak hem daha net hem de büyük olasılıkla daha hızlıdır String.Equals.
İhlalleri düzeltme
Bu kuralın ihlallerini düzeltmek için, öğesinin sonucunu String.Compare karşılaştıran ifadeyi çağrısıyla String.Equalsdeğiştirin.
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuraldan gelen uyarıları engellemek 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 CA2251
// The code that's violating the rule is on this line.
#pragma warning restore CA2251
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.CA2251.severity = none
Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.