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
Linda Hamiltonasal
2025-02-02 00:06:10239semak imbas

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>
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>
mengakses kereta untuk

spesifik kemudian sangat mudah: personId

<code class="language-csharp">var carsForPerson = carsByPersonId[personId].ToList(); // Convert to List if needed</code>
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!

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