Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menggunakan Contains() dengan String Array dalam LINQ Queries?
Cara Menggantikan Contains(string) dengan Contains(string[]) dalam LINQ Queries
Dalam LINQ, kaedah Contains() boleh digunakan untuk menyemak sama ada koleksi mengandungi elemen tertentu. Secara lalai, kaedah Contains() mengambil satu parameter rentetan, tetapi bagaimana jika anda perlu membandingkan dengan tatasusunan rentetan?
Soalan:
Saya mempunyai Pertanyaan LINQ yang kelihatan seperti ini:
from xx in table where xx.uid.ToString().Contains(string[]) select xx
Nilai dalam tatasusunan rentetan[] ialah nombor (mis., 1, 45, 20, 10). Saya ingin menggunakan kaedah Contains() untuk menyemak sama ada sifat xx.uid (iaitu nombor) terdapat dalam tatasusunan. Bagaimanakah saya boleh melakukan ini?
Jawapan:
Untuk membandingkan xx.uid dengan tatasusunan rentetan, anda tidak boleh terus menggunakan kaedah Contains(string). Sebaliknya, anda perlu menukar tatasusunan rentetan[] kepada koleksi yang menyokong kaedah Contains(). Berikut ialah dua pendekatan:
Tukar rentetan[] tatasusunan kepada Senarai
var uids = new List<string>(stringArray); var selected = table.Where(t => uids.Contains(t.uid.ToString()));
Jika uid juga ialah integer, anda boleh menukar tatasusunan rentetan[] kepada Senarai
var uids = stringArray.Select(int.Parse).ToList(); var selected = table.Where(t => uids.Contains(t.uid));
Kaedah Sambungan (Pilihan):
Anda juga boleh mencipta kaedah sambungan untuk rentetan[ ] taip untuk menyediakan kaedah Contains() yang mengambil hujah rentetan:
public static bool Contains(this string[] arr, string value) { return arr.Any(s => s == value); }
Dengan kaedah sambungan ini, anda boleh terus menggunakan Mengandungi kaedah() pada tatasusunan rentetan[]:
var selected = table.Where(t => stringArray.Contains(t.uid.ToString()));
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Contains() dengan String Array dalam LINQ Queries?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!