Perbandingan Rentetan Cekap dalam C#
Apabila membandingkan rentetan, selalunya perlu untuk mengabaikan perbezaan kes. Dua pendekatan biasa menggunakan Equals() dengan StringComparison.InvariantCultureIgnoreCase atau menukar kedua-dua rentetan kepada huruf kecil sebelum perbandingan.
Pilihan 1: Equals() dengan StringComparison.InvariantCultureIgnoreCase
if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
Pilihan ini menggunakan perbandingan ordinal, yang dipertimbangkan lebih cekap daripada perbandingan sedar budaya. Ia disyorkan apabila kelajuan adalah penting.
Pilihan 2: Tukar kepada Huruf Kecil
if (val.ToLowerCase() == "astringvalue")
Menukar kepada huruf kecil sebelum perbandingan boleh menjadi lebih pantas jika anda melakukan banyak perbandingan terhadap rentetan yang sama. Ini kerana rentetan huruf kecil disimpan dalam ingatan, menghapuskan keperluan untuk penukaran berulang.
Penyelesaian Optimum
Pilihan paling cekap bergantung pada senario tertentu. Untuk kegunaan umum, adalah disyorkan untuk menggunakan string.Equals() dengan StringComparison.OrdinalIgnoreCase.
if (string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase))
Walau bagaimanapun, jika anda membandingkan dengan rentetan malar beberapa kali, menukar kepada huruf kecil mungkin memberikan prestasi yang lebih baik.
Nota: Ingatlah untuk mengukur dan memprofilkan kod anda untuk menentukan pendekatan yang paling sesuai untuk anda aplikasi khusus.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Melakukan Perbandingan Rentetan Tidak Peka Huruf dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!