CA1310: Tentukan Perbandingan String untuk ketepatan
Properti | Nilai |
---|---|
ID Aturan | CA1310 |
Judul | Tentukan StringComparison agar benar |
Golongan | Globalisasi |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 9 | No |
Penyebab
Operasi perbandingan string menggunakan metode kelebihan beban yang tidak mengatur StringComparison parameter dan menggunakan perbandingan string khusus budaya secara default. Oleh karena itu, perilakunya akan bervariasi berdasarkan pengaturan lokal pengguna saat ini.
Deskripsi aturan
Metode perbandingan string yang menggunakan perbandingan string khusus budaya secara default dapat memiliki perilaku runtime yang berpotensi tidak disengaja yang tidak cocok dengan niat pengguna. Disarankan agar Anda menggunakan kelebihan beban dengan StringComparison parameter untuk kebenaran dan kejelasan niat.
Aturan ini menandai metode perbandingan string yang menggunakan nilai khusus StringComparison budaya secara default. Untuk informasi selengkapnya, lihat Perbandingan string yang menggunakan budaya saat ini.
Catatan
Jika Anda ingin melihat pelanggaran untuk semua metode perbandingan string, terlepas dari perbandingan string default yang digunakan oleh metode , silakan gunakan CA1307: Tentukan StringComparison untuk kejelasan sebagai gantinya.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, ubah metode perbandingan string menjadi kelebihan beban yang menerima StringComparison enumerasi sebagai parameter. Misalnya, ubah String.Compare(str1, str2)
menjadi String.Compare(str1, str2, StringComparison.Ordinal)
.
Kapan harus menekan peringatan
Aman untuk menekan peringatan dari aturan ini ketika pustaka atau aplikasi tidak dimaksudkan untuk dilokalkan.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1310
// The code that's violating the rule is on this line.
#pragma warning restore CA1310
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1310.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.