Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Linq boleh digunakan untuk mengeluarkan item pendua dari senarai?

Bagaimanakah Linq boleh digunakan untuk mengeluarkan item pendua dari senarai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-29 08:01:10686semak imbas

How Can LINQ Be Used to Remove Duplicate Items from a List?

dengan cekap mengeluarkan pendua dari senarai dengan linq

Senarai data sering mengandungi entri pendua, menyebabkan komplikasi dalam pemprosesan dan analisis data, terutamanya dengan dataset atau data yang besar dari pelbagai sumber. LINQ (pertanyaan bersepadu bahasa) menyediakan penyelesaian yang elegan untuk menghapuskan pendua ini.

Cabaran:

Pertimbangkan senarai item, masing -masing dengan sifat seperti ID, nama, kod, dan harga. Duplikat boleh timbul dengan mudah:

<code>• Item1, IT00001, 0
• Item2, IT00002, 0
• Item3, IT00003, 0
• Item1, IT00001, 0
• Item3, IT00003, 0</code>

Pendekatan LINQ:

Kaedah Linq

dan GroupBy menawarkan cara ringkas untuk menghapuskan pendua. Coretan kod berikut menunjukkan ini: Select

<code class="language-csharp">var uniqueItems = items.GroupBy(x => x.Id).Select(y => y.First());</code>

langkah demi langkah Penjelasan:

  1. : GroupBy(x => x.Id) Kumpulan ini senarai berdasarkan harta items. Item dengan Id yang sama dimasukkan ke dalam kumpulan yang sama. Id
  2. : Select(y => y.First()) Ini memilih item pertama dari setiap kumpulan. Kerana setiap kumpulan mengandungi item dengan nilai yang sama, ini hanya memilih satu contoh setiap item yang unik. Id
Kaedah ini dengan cekap menjana senarai baru yang mengandungi hanya item unik, memudahkan manipulasi data berikutnya.

Atas ialah kandungan terperinci Bagaimanakah Linq boleh digunakan untuk mengeluarkan item pendua dari senarai?. 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