Membandingkan Rentetan Tanpa Kepekaan Huruf dalam C#
Apabila membandingkan dua rentetan dalam C#, selalunya perlu mengabaikan huruf besar. Ini kerana nilai rentetan mungkin dimasukkan atau disimpan dalam kes yang berbeza, yang membawa kepada perbandingan yang salah. C# menyediakan beberapa kaedah untuk perbandingan rentetan tidak sensitif huruf besar dan kecil.
Pilihan 1: Menggunakan Equals(string, StringComparison)
Satu kaedah yang cekap untuk perbandingan tidak sensitif huruf besar-besaran ialah:
string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)
Kaedah ini melakukan perbandingan ordinal, yang lebih pantas daripada perbandingan sedar budaya seperti StringComparison.InvariantCultureIgnoreCase.
Pilihan 2: Menggunakan ToLower()
Kaedah biasa lain ialah menukar satu atau kedua-dua rentetan kepada huruf kecil sebelum membandingkan:
if (val.ToLower() == "astringvalue")
Walaupun kaedah ini lebih bertele-tele, ia mungkin lebih cekap daripada kaedah Kaedah Equals() jika berbilang perbandingan dibuat terhadap rentetan yang sama.
Pilihan 3: ToLower() vs. Ordinal Comparison
Pilihan antara ToLower() dan perbandingan ordinal bergantung pada senario tertentu. Perbandingan ordinal biasanya lebih pantas, tetapi ia hanya mengabaikan kes. Jika terdapat aksara lain yang boleh menyebabkan positif palsu, ToLower() mungkin lebih sesuai.
Pengukuran dan Pengoptimuman
Akhirnya, kaedah terbaik untuk membandingkan kes rentetan- secara tidak sensitif harus ditentukan melalui pengukuran. Prestasi mungkin berbeza-beza bergantung pada panjang rentetan, bilangan perbandingan dan gabungan aksara tertentu. Untuk memastikan kecekapan optimum, adalah dinasihatkan untuk menguji dan menanda aras pendekatan yang berbeza sebelum membuat keputusan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Tidak Peka Huruf Dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!