Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah LINQ Boleh Digunakan untuk Mendapatkan Objek Kereta Berbeza Berdasarkan CarCode?

Bagaimanakah LINQ Boleh Digunakan untuk Mendapatkan Objek Kereta Berbeza Berdasarkan CarCode?

Linda Hamilton
Linda Hamiltonasal
2025-01-15 21:52:45543semak imbas

How Can LINQ Be Used to Get Distinct Car Objects Based on CarCode?

Menggunakan LINQ untuk Mengekstrak Objek Kereta Unik Berdasarkan Kod Kereta

Mengurus koleksi objek dengan sifat yang berpotensi berlebihan selalunya memerlukan teknik penapisan yang cekap. Artikel ini menunjukkan cara LINQ memudahkan proses mendapatkan semula objek berbeza daripada koleksi, memfokuskan pada keunikan berdasarkan sifat tertentu.

Cabaran:

Andaikan anda mempunyai senarai Car objek, masing-masing dikenal pasti secara unik oleh sifat CarCodenya. Tugasnya ialah menggunakan LINQ untuk mencipta koleksi baharu yang mengandungi hanya kereta dengan nilai CarCode unik.

Penyelesaian:

Keupayaan pengumpulan dan pemilihan LINQ menyediakan penyelesaian ringkas:

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

Penjelasan Terperinci:

Kaedah GroupBy menyusun senarai cars asal ke dalam kumpulan, dikategorikan mengikut sifat CarCode. Setiap kumpulan mengandungi kereta berkongsi CarCode yang sama.

Seterusnya, kaedah Select berulang melalui kumpulan ini, memilih objek Car pertama daripada setiap satu. Memandangkan setiap kumpulan mewakili CarCode yang unik, pemilihan ini memastikan koleksi yang terhasil hanya mengandungi objek Car yang berbeza.

Kaedah ToList() menukar jujukan yang terhasil kepada List<Car> baharu, distinctCars, yang mengandungi hanya kereta dengan nilai CarCode unik. Ini secara berkesan menghapuskan objek pendua kereta berdasarkan kod pengenalannya.

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Digunakan untuk Mendapatkan Objek Kereta Berbeza Berdasarkan CarCode?. 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