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 8 Tidak

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.

Baca juga