Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap dari Senarai dalam LINQ?

Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap dari Senarai dalam LINQ?

Barbara Streisand
Barbara Streisandasal
2025-01-24 04:02:09480semak imbas

How Can I Efficiently Remove Elements from a List in LINQ?

LINQ dengan cekap mengalih keluar elemen Senarai

LINQ berkuasa dalam operasi pengumpulan objek Artikel ini meneroka cara mengalih keluar elemen daripada Senarai berdasarkan keadaan tertentu.

Andaikan anda mahu mengalih keluar semua pengarang bernama "Bob" daripada senarai pengarang:

<code class="language-csharp">var authors = from x in authorsList
              where x.firstname == "Bob"
              select x;</code>

Kini anda perlu mengalih keluar pengarang ini daripada koleksi 'authorsList' asal. Terdapat beberapa cara untuk melakukan ini:

  1. Kecualikan elemen yang tidak diingini terlebih dahulu:
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>

Kaedah ini mengubah suai 'authorsList' dengan mengecualikan pengarang bernama "Bob" daripada pertanyaan awal.

  1. Gunakan kaedah RemoveAll:
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob);</code>

Kaedah RemoveAll mengalih keluar elemen padanan dengan cekap daripada koleksi 'authorsList'.

  1. Gunakan HashSet dan RemoveAll:

Jika operasi penyingkiran perlu berdasarkan set lain, anda boleh menggunakan HashSet:

<code class="language-csharp">var setToRemove = new HashSet<author>(authors);
authorsList.RemoveAll(x => setToRemove.Contains(x));</code>

Kaedah ini mencipta HashSet yang mengandungi elemen yang akan dialih keluar, dan kemudian menggunakan RemoveAll untuk mengalih keluarnya dengan cekap daripada 'authorsList'.

Dengan kaedah di atas, anda boleh memilih cara paling berkesan untuk mengalih keluar elemen daripada senarai LINQ mengikut keperluan sebenar anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap dari Senarai dalam LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn