CA1310: Tentukan Perbandingan String untuk ketepatan

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.

Lihat juga