Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara kumpulan orang dengan id dan mengambil nama kereta yang berkaitan di Linq?

Bagaimana cara kumpulan orang dengan id dan mengambil nama kereta yang berkaitan di Linq?

Linda Hamilton
Lepaskan: 2025-02-02 00:06:10
asal
235 orang telah melayarinya

How to Group Person Objects by ID and Retrieve Associated Car Names in LINQ?

dengan cekap mengumpulkan objek orang dan mengambil nama kereta dengan linq

Contoh ini menunjukkan bagaimana untuk mengumpulkan koleksi objek

oleh Person mereka dan mengambil nama kereta yang berkaitan menggunakan kaedah LINQ PersonId atau GroupBy. Anggapkan anda mempunyai senarai objek ToLookup, masing -masing dengan harta Person dan PersonId. Matlamatnya adalah untuk mengumpulkan orang dengan car yang sama dan dapatkan senarai kereta untuk setiap kumpulan. PersonId

Kaedah

menyediakan cara ringkas untuk mencapai kumpulan ini: GroupBy

<code class="language-csharp">var results = persons.GroupBy(p => p.PersonId)
                     .Select(g => new { PersonId = g.Key, Cars = g.Select(p => p.car).ToList() });</code>
Salin selepas log masuk
Kod ini pertama kumpulan

senarai oleh persons harta. Kemudian, untuk setiap kumpulan (PersonId), ia mewujudkan objek tanpa nama yang mengandungi g (PersonId) dan senarai nama kereta (g.Key). g.Select(p => p.car).ToList()

Sebagai alternatif, kaedah

mencipta struktur carian, sama dengan kamus, menawarkan akses berasaskan kunci yang cekap: ToLookup

<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>
Salin selepas log masuk
mengakses kereta untuk

spesifik kemudian sangat mudah: personId

<code class="language-csharp">var carsForPerson = carsByPersonId[personId].ToList(); // Convert to List if needed</code>
Salin selepas log masuk
kedua -dua pendekatan dengan berkesan mengumpulkan data, yang membolehkan pengambilan semula dan manipulasi nama kereta yang dikaitkan dengan setiap

. Pilih kaedah yang paling sesuai dengan keperluan dan gaya pengekodan anda; PersonId mungkin lebih baik jika anda menjangkakan carian yang kerap dengan ToLookup. PersonId

Atas ialah kandungan terperinci Bagaimana cara kumpulan orang dengan id dan mengambil nama kereta yang berkaitan di Linq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan