Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menghimpunkan Objek mengikut Harta Biasa Menggunakan LINQ?

Bagaimanakah Saya Boleh Menghimpunkan Objek mengikut Harta Biasa Menggunakan LINQ?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-13 11:50:46526semak imbas

How Can I Group Objects by a Common Property Using LINQ?

Kumpulkan objek mengikut sifat sepunya menggunakan LINQ

Contoh ini menunjukkan cara mengumpulkan senarai objek berdasarkan sifat kongsi. Menggunakan LINQ, kita boleh mencapai ini menggunakan kaedah GroupBy dan Select.

Kaedah GroupBy mencipta koleksi pasangan nilai kunci, dengan kunci mewakili nilai unik untuk atribut yang ditentukan. Dalam contoh ini, kami mengumpulkan mengikut atribut GroupID. Output yang terhasil ialah koleksi pasangan nilai kunci, dengan kuncinya ialah GroupID dan nilainya ialah penghitungan semua objek Pengguna yang berkongsi GroupID yang sama.

Untuk menukar pasangan nilai kunci ini kepada senarai senarai berkumpulan, kami menggunakan kaedah Pilih. Dalam klausa Pilih, kami menggunakan kaedah ToList untuk menukar bahagian nilai setiap pasangan nilai kunci (yang merupakan penghitungan objek Pengguna) kepada senarai.

Menggabungkan segala-galanya, berikut ialah pertanyaan LINQ untuk mencapai kumpulan yang diingini:

<code>var groupedCustomerList = userList
    .GroupBy(u => u.GroupID)
    .Select(grp => grp.ToList())
    .ToList();</code>

CustomerList berkumpulan terakhir ialah senarai senarai, di mana setiap senarai dalaman mengandungi objek Pengguna yang dikumpulkan mengikut GroupID mereka. Struktur ini membolehkan anda mengakses dan memanipulasi data terkumpul dengan mudah mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghimpunkan Objek mengikut Harta Biasa 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