Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Kaedah GroupBy dan Count LINQ Digunakan untuk Mengira Kejadian Metrik?
Gunakan kaedah GroupBy and Count LINQ untuk mengira bilangan kejadian penunjuk
LINQ menyediakan fungsi pengumpulan dan pengiraan yang berkuasa untuk memudahkan analisis data yang kompleks. Untuk mengira kejadian setiap penunjuk dalam set data, anda boleh menggunakan gabungan kaedah GroupBy dan Count.
Dengan mengandaikan terdapat set data sampel data pengguna, kami boleh mengumpulkan data mengikut penunjuk dan mengira bilangan kejadian setiap penunjuk, seperti berikut:
<code class="language-csharp">var result = UserInfo.GroupBy(i => i.metric).Select(g => new { metric = g.Key, count = g.Count() });</code>
Ungkapan LINQ ini mengumpulkan set data ke dalam satu siri kumpulan berdasarkan atribut metric
. Setiap kumpulan mengandungi maklumat pengguna dengan nilai metric
yang sama. Ungkapan itu kemudian mengira bilangan kejadian setiap kumpulan menggunakan kaedah Count()
.
Pembolehubah result
yang dijana mengandungi satu siri contoh jenis tanpa nama, setiap satu mewakili penunjuk dan kiraannya. Untuk mendapatkan semula data dalam format yang lebih standard, kita boleh menggunakan gelung:
<code class="language-csharp">foreach (var line in result) { Console.WriteLine("{0} {1}", line.metric, line.count); }</code>
Gelung ini berulang result
melalui setiap kumpulan dalam koleksi dan mencetak metrik serta mengira ke konsol. Outputnya adalah seperti berikut:
<code>0 3 1 2 2 2 3 1</code>
Sebagai alternatif, anda boleh menggunakan sintaks berikut:
<code class="language-csharp">var result = data.GroupBy(x => x.metric).Select(group => new { Metric = group.Key, Count = group.Count() }).OrderBy(x => x.Metric);</code>
Ungkapan ini menambah klausa OrderBy
yang mengisih hasil dalam tertib menaik berdasarkan nilai metrik.
Atas ialah kandungan terperinci Bagaimanakah Kaedah GroupBy dan Count LINQ Digunakan untuk Mengira Kejadian Metrik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!