LINQ Mengandungi Kaedah: Mengatasi Kepekaan Kes
Kaedah LINQ Contains menyediakan cara yang berkuasa untuk memeriksa kehadiran subrentetan tertentu dalam rentetan. Walau bagaimanapun, secara lalai, ia melakukan perbandingan sensitif huruf besar-besaran, yang mungkin tidak diingini dalam sesetengah senario. Artikel ini menerangkan cara untuk menjadikan kaedah Mengandungi huruf besar tidak sensitif menggunakan pengubahsuaian mudah.
Menjadikan Mengandungi Mengandungi tidak peka huruf besar
Untuk menjadikan kaedah Mengandungi huruf besar tidak sensitif, anda boleh menggunakan Kaedah ToLower untuk menukar kedua-dua rentetan untuk diperiksa dan subrentetan ke dalam huruf kecil sebelum melakukan perbandingan. Pengubahsuaian ini mengabaikan perbezaan kes, memastikan padanan ditemui tanpa mengira selongsong huruf.
Contoh Pengubahsuaian
Pertimbangkan pertanyaan LINQ berikut:
public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }
Kod ini melakukan perbandingan sensitif huruf besar-besaran, bermakna "KEMUDAHAN" tidak akan sepadan dengan "kemudahan". Untuk menjadikan perbandingan ini tidak sensitif huruf besar, pengubahsuaian berikut boleh digunakan:
fi => fi.DESCRIPTION.ToLower().Contains(description.ToLower())
Pengubahsuaian ini menukar kedua-dua fi.DESCRIPTION dan perihalan kepada huruf kecil sebelum melakukan perbandingan Mengandungi. Akibatnya, pertanyaan kini akan memadankan "KEMUDAHAN" dengan "kemudahan" dan sebaliknya.
Kesimpulan
Dengan memasukkan kaedah ToLower ke dalam perbandingan Contains, anda boleh membuat pertanyaan LINQ tidak sensitif huruf besar-besaran. Ini memastikan pengambilan data dan operasi carian tidak terjejas oleh perbezaan kes, memberikan lebih fleksibiliti dan hasil yang tepat.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Jadikan Kaedah Mengandungi LINQ Tidak Peka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!