Menggunakan LINQ Contains(string[]) Daripada Contains(string)
Dalam pertanyaan LINQ, operator Contains digunakan untuk menyemak sama ada nilai tertentu wujud dalam koleksi. Secara lalai, Contains menerima satu rentetan sebagai parameternya. Walau bagaimanapun, sesetengah senario mungkin memerlukan membandingkan berbilang nilai daripada tatasusunan rentetan.
Untuk menangani perkara ini, anda boleh mencipta kaedah sambungan tersuai untuk rentetan[] yang membenarkannya digunakan dengan operator Contains.
Kaedah Sambungan Tersuai:
public static bool ContainsArray(this string[] array, string value) { return array.Any(element => element == value); }
Kaedah ini berulang melalui tatasusunan rentetan dan mengembalikan benar jika nilai yang ditentukan ditemui, atau palsu sebaliknya.
Penggunaan dalam Pertanyaan LINQ:
Dengan kaedah sambungan yang ditentukan, anda kini boleh menggunakannya dalam pertanyaan LINQ anda:
var uids = new[] { "1", "45", "20", "10" }; var query = from xx in table where xx.uid.ToString().ContainsArray(uids) select xx;
Dengan menggunakan kaedah sambungan ContainsArray, anda kini boleh membandingkan nilai xx.uid dengan berbilang nilai daripada tatasusunan rentetan uid. Pertanyaan akan mengembalikan semua entiti di mana xx.uid terkandung dalam tatasusunan yang ditentukan.
Atas ialah kandungan terperinci Bagaimana Menggunakan LINQ Mengandungi dengan Susunan Rentetan Daripada Rentetan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!