Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengeluarkan Objek Pendua Berdasarkan Harta Menggunakan LINQ?

Bagaimana untuk Mengeluarkan Objek Pendua Berdasarkan Harta Menggunakan LINQ?

Susan Sarandon
Susan Sarandonasal
2025-01-15 21:57:45746semak imbas

How to Remove Duplicate Objects Based on a Property Using LINQ?

Ekstrak objek unik berdasarkan sifat menggunakan LINQ

Apabila bekerja dengan koleksi, anda mungkin menghadapi situasi di mana anda perlu mengalih keluar pendua berdasarkan sifat objek tertentu. Katakan anda mempunyai koleksi objek Kereta yang dikenal pasti secara unik oleh sifat CarCode mereka. Walau bagaimanapun, koleksi mungkin mengandungi pendua dengan Kod Kereta yang sama. Artikel ini akan menunjukkan cara menggunakan LINQ untuk menghapuskan pendua ini dan hanya menyimpan contoh Kereta yang unik.

Untuk melakukan ini, kita boleh menggunakan teknik menggabungkan kumpulan dan pemilihan. Coretan kod berikut menunjukkan pendekatan ini:

<code class="language-csharp">List<Car> distinct =
  cars
  .GroupBy(car => car.CarCode)
  .Select(g => g.First())
  .ToList();</code>

Dalam kod ini, kami mula-mula menggunakan kaedah GroupBy untuk mengumpulkan kereta mengikut sifat CarCode mereka. Operasi ini mencipta kumpulan untuk setiap CarCode unik. Kami kemudian menggunakan kaedah Pilih untuk mengekstrak kereta pertama daripada setiap kumpulan menggunakan g.First(). Langkah ini memastikan bahawa hanya satu objek Kereta bagi setiap Kod Kereta unik dikekalkan.

Dengan melaksanakan ungkapan LINQ ini, anda akan mendapat koleksi baharu yang dipanggil berbeza yang mengandungi hanya objek unik Kereta berdasarkan sifat CarCode mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Objek Pendua Berdasarkan Harta Menggunakan 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