Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membandingkan Rentetan dengan Cekap dalam C# dengan Ketidakpekaan Kes?
Perbandingan Rentetan dengan Ketakpekaan Kes dalam C#
Apabila membandingkan dua rentetan dalam C#, pengendalian ketidakpekaan kes adalah keperluan biasa. Terdapat beberapa pilihan yang tersedia, tetapi masing-masing dilengkapi dengan pertimbangan prestasinya sendiri. Mari kita terokai dua kaedah popular dan sediakan alternatif yang lebih cekap.
Kaedah 1: String.Equals with StringComparison.InvariantCultureIgnoreCase
Kaedah ini mudah tetapi berpotensi lebih perlahan. Ia membandingkan rentetan menggunakan kriteria InvariantCultureIgnoreCase, yang memastikan ketakpekaan huruf besar tetapi memperkenalkan pertimbangan budaya yang berlebihan.
string val = "AStringValue"; if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
Kaedah 2: String.ToLowerCase dengan ==
Walaupun kaedah ini nampaknya lebih pantas dengan menghapuskan pemprosesan budaya, ia disertakan dengan a kelemahan. Menukar rentetan kepada huruf kecil mencipta contoh rentetan baharu, menggunakan memori tambahan dan berpotensi menjejaskan prestasi apabila berurusan dengan rentetan besar.
if (val.ToLowerCase() == "astringvalue")
Alternatif yang Lebih Cekap: String.Equals with StringComparison.OrdinalIgnoreCase
Penyelesaian yang optimum adalah dengan menggunakan StringComparison.OrdinalIgnoreCase bendera:
string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)
Perbandingan ordinal memintas pertimbangan budaya dan jauh lebih pantas. Walau bagaimanapun, mereka menganggap bahawa kedua-dua rentetan menggunakan pengekodan aksara yang sama dan mungkin menghasilkan hasil yang tidak dijangka jika tidak.
Jika anda kerap membandingkan rentetan yang sama dengan yang lain, menukarkannya kepada huruf kecil terlebih dahulu boleh meningkatkan kecekapan. Tetapi ingat, ukur dan uji kod anda sebelum membuat pengoptimuman untuk memastikan manfaat ketara.
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Rentetan dengan Cekap dalam C# dengan Ketidakpekaan Kes?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!