Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengira dan Mengisih Objek Pendua mengikut Harta ID Menggunakan LINQ?

Bagaimanakah Saya Boleh Mengira dan Mengisih Objek Pendua mengikut Harta ID Menggunakan LINQ?

Patricia Arquette
Lepaskan: 2025-01-03 20:25:40
asal
296 orang telah melayarinya

How Can I Count and Sort Duplicate Objects by ID Property Using LINQ?

Mengira Pendua mengikut Harta Menggunakan LINQ

Dalam senario ini, anda mempunyai senarai objek dengan sifat ID. Matlamatnya adalah untuk mengira dan mengumpulkan objek berdasarkan ID mereka dan memaparkan keputusan dalam cara yang diisih, dengan objek dengan kiraan tertinggi di bahagian atas.

Mengumpulkan mengikut ID

LINQ menawarkan operasi 'kumpulan mengikut' untuk mengumpulkan objek berdasarkan sifat tertentu. Dalam kes anda, anda ingin mengumpulkan mengikut harta ID. Begini cara anda boleh mencapai ini:

var grouped = items.GroupBy(item => item.ID);
Salin selepas log masuk

Selepas mengumpulkan, anda akan mempunyai koleksi kumpulan, di mana setiap kumpulan mewakili objek dengan ID yang sama.

Mengira Item dalam Kumpulan

Dengan kumpulan yang dibuat, anda boleh menggunakan kaedah 'Count()' untuk mengira bilangan objek dalam setiap kumpulan. Hasilnya ialah koleksi pasangan nilai kunci, dengan kuncinya ialah ID dan nilainya ialah kiraan.

var counted = grouped.Select(group => new { ID = group.Key, Count = group.Count() });
Salin selepas log masuk

Isih mengikut Kiraan

Akhir sekali , untuk mengisih keputusan dalam tertib menurun mengikut kiraan, anda boleh menggunakan 'OrderByDescending()' kaedah.

var sorted = counted.OrderByDescending(pair => pair.Count);
Salin selepas log masuk

Menggabungkan Keputusan ke dalam Senarai Baharu

Untuk memaparkan keputusan dalam format yang diingini, anda perlu mencipta senarai objek baharu yang mengandungi ID, kiraan dan nama permainan. Anda boleh menggunakan gabungan sifat dan unjuran untuk mencapai ini:

var results = sorted.Select(pair => new { ID = pair.ID, Count = pair.Count, GameName = items.First(item => item.ID == pair.ID).GameName });
Salin selepas log masuk

Ini akan memberi anda senarai objek dengan sifat yang diperlukan.

Dengan mengikuti langkah ini, anda boleh mengira pendua berdasarkan sifat ID dan mengisih keputusan mengikut kiraan menggunakan LINQ.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira dan Mengisih Objek Pendua mengikut Harta ID Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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