Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah Mengandungi LINQ?

Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah Mengandungi LINQ?

DDD
DDDasal
2025-01-05 17:35:43212semak imbas

How Can I Perform Case-Insensitive String Comparisons Using LINQ's Contains Method?

Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah Mengandungi LINQ

Apabila bekerja dengan perbandingan rentetan dalam pertanyaan LINQ, adalah penting untuk mempertimbangkan kepekaan huruf. Secara lalai, kaedah Contains adalah sensitif huruf besar-besaran, bermakna "CaseSensitive" dan "casesensitive" tidak akan sepadan.

Masalah:

Dalam pertanyaan LINQ berikut, kami berhasrat untuk mendapatkan semula entiti FACILITY_ITEM berdasarkan penapis huraian. Walau bagaimanapun, pertanyaan pada masa ini adalah sensitif huruf besar dan mungkin tidak mengembalikan hasil yang diingini.

public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description)
{
    return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description));
}

Penyelesaian:

Untuk menjadikan perbandingan tidak sensitif huruf, kami boleh gunakan kaedah ToLower() sebelum melakukan pemeriksaan Mengandungi. Ini menukar kedua-dua penapis perihalan dan nilai pangkalan data kepada huruf kecil, memastikan perbandingan tidak peka huruf besar-kecil.

fi => fi.DESCRIPTION.ToLower().Contains(description.ToLower())

Dengan menggunakan ungkapan yang dikemas kini ini, pertanyaan akan mengembalikan hasil apabila perihalan item kemudahan sepadan dengan penapis perihalan, tanpa mengira kesnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah Mengandungi LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn