Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap dari Senarai Menggunakan LINQ?
Gunakan LINQ untuk mengalih keluar elemen Senarai
LINQ ialah teknologi pertanyaan data yang berkuasa yang boleh menapis dan memilih elemen tertentu dalam koleksi. Walau bagaimanapun, apabila berurusan dengan koleksi boleh ubah seperti Senarai
Pertanyaan dan pengalihan keluar LINQ
Pertimbangkan pertanyaan LINQ berikut:
<code class="language-csharp">var authors = from x in authorsList where x.firstname == "Bob" select x;</code>
Pertanyaan ini mengembalikan urutan objek Pengarang yang dinamakan pengarang. Walau bagaimanapun, jika anda ingin mengalih keluar pengarang ini daripada authorsList, menggunakan pengarang untuk dialih keluar tidak akan mengemas kini koleksi asal secara langsung.
Penyelesaian untuk mengalih keluar hasil pertanyaan
Terdapat dua strategi utama untuk memadamkan hasil pertanyaan daripada authorsList:
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>
Ini menghasilkan senarai pengarang baharu yang ditapis yang tidak termasuk Bob.
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob");</code>
Kaedah ini berulang pada authorsList dan mengalih keluar sebarang elemen yang sepadan dengan predikat.
Cara alternatif untuk menapis berbilang elemen
Jika anda perlu mengalih keluar berbilang elemen tertentu berdasarkan set berasingan (cth. HashSet):
<code class="language-csharp">var setToRemove = new HashSet<Author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));</code>
Kaedah ini secara berkesan mengalih keluar semua pengarang dalam setToRemove daripada authorsList.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap dari Senarai Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!