Cara mengalih keluar item daripada satu senarai yang terkandung dalam senarai lain
Andaikan anda mempunyai dua senarai, senarai1 dan senarai2, dan anda mahu mengalih keluar semua item dalam senarai1 yang turut terdapat dalam senarai2. Menggunakan gelung foreach untuk mengulangi senarai1 tidak mencukupi kerana ia bukan berasaskan indeks.
Penyelesaian: Gunakan kaedah Kecuali
Rangka Kerja .NET menyediakan kaedah Kecuali, yang mengembalikan senarai baharu yang mengandungi elemen daripada senarai pertama yang tidak terdapat dalam senarai kedua. Ia memerlukan dua senarai sebagai parameter dan mengendalikan elemen demi elemen.
Untuk menggunakan Kecuali, anda tulis kod berikut:
<code class="language-csharp">List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList(); List<car> result = list2.Except(list1).ToList();</code>
Senarai hasil yang dijana hanya akan mengandungi item dalam senarai2 yang tiada dalam senarai1.
Nota: Kaedah Except tidak mengubah suai senarai asal. Ia mencipta senarai baharu yang mengandungi hasilnya.
Sintaks ringkas
Anda boleh memudahkan lagi kod di atas menggunakan kaedah rantaian:
<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Kod ini mencapai hasil yang sama tanpa menggunakan pembolehubah sementara.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Elemen dengan Cekap daripada Satu Senarai yang Wujud dalam Senarai Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!