Mengalih keluar Elemen dengan Cekap daripada Satu Senarai Hadir dalam Satu Lagi (C#)
Banyak tugas pengaturcaraan memerlukan mengalih keluar elemen daripada senarai yang turut muncul dalam senarai kedua. Artikel ini menunjukkan dua kaedah berkesan dalam C# untuk mencapai ini.
Memanfaatkan Kaedah Except
LINQ
LINQ (Language Integrated Query) menawarkan penyelesaian ringkas menggunakan kaedah Except
. Kaedah ini mengira perbezaan yang ditetapkan antara dua senarai, mengembalikan senarai baharu yang mengandungi hanya elemen unik kepada senarai pertama. Yang penting, pendekatan ini mengelak daripada mengubah suai senarai asal.
Berikut ialah contoh yang menggambarkan penggunaan Except
:
<code class="language-csharp">List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList(); List<car> result = list2.Except(list1).ToList();</code>
Coretan kod ini menjana result
, senarai baharu yang terdiri daripada elemen daripada list2
yang tiada dalam list1
. Penukaran ToList()
adalah perlu kerana Except
mengembalikan IEnumerable
bukannya List
.
Alternatif: Membina Senarai Baharu Secara Terus
Pendekatan yang lebih diperkemas melibatkan secara terus mencipta senarai baharu yang mengandungi hanya elemen yang diingini:
<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Ini mencapai hasil yang sama seperti contoh sebelumnya tetapi tanpa memerlukan pembolehubah sementara.
Pertimbangan Penting:
Kedua-dua kaedah yang dibentangkan di atas menghasilkan senarai baharu yang mengandungi elemen yang ditapis. Senarai asal (list1
dan list2
) kekal tidak disentuh.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Item dari Satu Senarai Yang Hadir dalam Senarai Lain dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!