Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
| Properti | Nilai |
|---|---|
| ID Aturan | CA1310 |
| Judul | Tentukan StringComparison untuk memastikan ketepatan. |
| Kategori | Globalisasi |
| Perbaikan bersifat merusak atau tidak merusak | Tidak terputus |
| Diaktifkan secara default di .NET 10 | Tidak |
| Bahasa yang berlaku | C# dan Visual Basic |
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 teks yang menggunakan perbandingan teks khusus budaya tertentu secara default dapat memiliki perilaku pada waktu proses yang berpotensi tidak disengaja dan tidak sesuai dengan niat pengguna. Disarankan agar Anda menggunakan overload dengan parameter StringComparison untuk ketepatan dan kejelasan tujuan.
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 ke overload yang menerima enumerasi StringComparison sebagai parameter. Misalnya, ubah String.Compare(str1, str2) menjadi String.Compare(str1, str2, StringComparison.Ordinal).
Kapan harus menekan peringatan
Saat pustaka atau aplikasi tidak dimaksudkan untuk dilokalkan, aman untuk mengabaikan peringatan dari aturan ini.
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.