Tugas di tangan ialah untuk mengesahkan sama ada satu senarai mengandungi semua elemen yang terdapat dalam senarai lain. Dalam .NET, fungsi ini sememangnya terbina dalam untuk versi 3.5 dan ke atas.
Untuk .NET 3.5 dan lebih baharu, kami boleh memanfaatkan kod berikut untuk mencapai pembendungan ini semak:
public static class LinqExtras // Or whatever { public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b) { return !b.Except(a).Any(); } }
Kod ringkas ini menggunakan kaedah Except untuk menentukan sebarang elemen dalam b yang tiada dalam a. Dengan menyongsangkan keputusan dengan !, kami mengesahkan dengan berkesan sama ada a mengandungi semua elemen b.
Dari segi konvensyen pengekodan, adalah lebih biasa untuk mentakrifkan kaedah generik, seperti yang dilihat dalam kod yang disediakan, bukannya kelas itu sendiri yang generik. Selain itu, keperluan Senarai
Dengan fungsi terbina dalam dalam .NET 3.5 dan ke atas, anda mempunyai cara yang mudah dan cekap untuk menyemak pembendungan antara senarai. Kod yang disediakan menggunakan LINQ dengan berkesan untuk melakukan semakan ini dan mematuhi amalan pengekodan biasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Satu Senarai Mengandungi Semua Elemen Lain dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!