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.
CA2251: Gunakan
| Properti | Nilai |
|---|---|
| ID Aturan | CA2251 |
| Judul | Gunakan String.Equals di atas String.Compare |
| Golongan | Penggunaan |
| Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
| Diaktifkan secara default di .NET 10 | No |
Penyebab
Hasil panggilan ke String.Compare dibandingkan dengan nol.
Deskripsi aturan
String.Compare dirancang untuk menghasilkan perbandingan urutan total yang dapat digunakan untuk pengurutan. Jika Anda ingin mengetahui apakah string sama, penggunaan overload String.Equals yang setara lebih jelas dan cepat.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, ganti ekspresi yang membandingkan hasil String.Compare dengan panggilan ke String.Equals.
Example
string leftValue = "...";
string rightValue = "...";
// This code violates the rule.
bool areEqualUsingCompare = string.Compare(leftValue, rightValue, StringComparison.OrdinalIgnoreCase) == 0;
// This code satisfies the rule.
bool areEqualUsingEquals = string.Equals(leftValue, rightValue, StringComparison.OrdinalIgnoreCase);
Kapan harus menekan peringatan
Anda dapat menyembunyikan 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 CA2251
// The code that's violating the rule is on this line.
#pragma warning restore CA2251
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA2251.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.