Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah LINQ GroupBy Boleh Digunakan untuk Mengira Kejadian Metrik dalam Set Data?

Bagaimanakah LINQ GroupBy Boleh Digunakan untuk Mengira Kejadian Metrik dalam Set Data?

Linda Hamilton
Lepaskan: 2025-01-22 00:57:08
asal
304 orang telah melayarinya

How Can LINQ GroupBy Be Used to Count Metric Occurrences in a Dataset?

Gunakan LINQ GroupBy untuk mengira kejadian

LINQ menyediakan cara mudah untuk mengumpulkan item data berdasarkan kunci yang ditentukan dan mengira kejadiannya. Pertimbangkan set data berikut:

<code>UserInfo(name, metric, day, other_metric)</code>
Salin selepas log masuk

Data sampel:

<code>joe  1 01/01/2011 5
jane 0 01/02/2011 9
john 2 01/03/2011 0
jim  3 01/04/2011 1
jean 1 01/05/2011 3
jill 2 01/06/2011 5
jeb  0 01/07/2011 3
jenn 0 01/08/2011 7</code>
Salin selepas log masuk

Matlamatnya ialah untuk membuat jadual yang menyenaraikan metrik mengikut susunan dan jumlah bilangan kejadiannya. Ungkapan LINQ yang sesuai adalah seperti berikut:

<code>var counts = data.GroupBy(i => i.metric)
                .Select(g => new { Metric = g.Key, Count = g.Count() })
                .OrderBy(r => r.Metric);</code>
Salin selepas log masuk

Ia berfungsi seperti berikut:

  1. GroupBy: Kaedah GroupBy mengumpulkan elemen dalam metric berdasarkan atribut data. Ini akan menghasilkan koleksi kumpulan, setiap kumpulan mewakili nilai metrik yang unik.
  2. Pilih: Untuk setiap kumpulan, kaedah Pilih mencipta objek baharu dengan dua sifat: Metrik (kunci kumpulan, mewakili nilai metrik) dan Kira (bilangan elemen dalam kumpulan, mewakili metrik) bilangan kejadian).
  3. OrderBy: Akhir sekali, kaedah OrderBy mengisih koleksi objek yang dijana mengikut atribut Metrik, memastikan penunjuk disusun dalam tertib menaik.

Melaksanakan ungkapan LINQ ini akan menghasilkan output yang diingini:

<code>0 3
1 2
2 2
3 1</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah LINQ GroupBy Boleh Digunakan untuk Mengira Kejadian Metrik dalam Set Data?. 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