Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengira Kejadian Setiap Elemen dengan Cekap dalam Senarai C#?

Bagaimanakah Saya Boleh Mengira Kejadian Setiap Elemen dengan Cekap dalam Senarai C#?

Susan Sarandon
Susan Sarandonasal
2025-01-01 00:38:16185semak imbas

How Can I Efficiently Count the Occurrences of Each Element in a C# List?

Mengira Kejadian Elemen Senarai dalam C

Mengenal pasti kekerapan kejadian dalam senarai boleh menjadi operasi yang berharga dalam pengaturcaraan. Soalan ini meneroka kaedah mudah untuk mengira kejadian setiap elemen dalam senarai dalam C#.

Penyelesaian yang dicadangkan menggunakan kaedah GroupBy, yang membahagikan senarai kepada kumpulan yang berbeza berdasarkan pemilih kunci yang ditentukan. Dalam kes ini, pemilih kunci ialah ungkapan lambda yang mendapatkan semula elemen itu sendiri.

Hasilnya ialah IGrouping koleksi, di mana TKey mewakili kunci kumpulan (dalam kes ini, elemen itu sendiri) dan TSource ialah elemen senarai asal. Kaedah Count() pada setiap kumpulan kemudian memberikan bilangan kejadian.

Berikut ialah versi semakan coretan kod yang disediakan:

var l1 = new List<int>() { 1,2,3,4,5,2,2,2,4,4,4,1 };

var g = l1.GroupBy( i => i );

foreach( var grp in g )
{
    Console.WriteLine( "{0} ({1})", grp.Key, grp.Count() );
}

Kod ini akan menghasilkan output yang serupa dengan:

1 (2)
2 (3)
3 (1)
4 (3)
5 (1)

yang menyenaraikan elemen berbeza senarai asal bersama-sama dengan kiraan masing-masing. Kaedah ini menyediakan cara yang ringkas dan cekap untuk melaksanakan pengiraan kejadian dalam senarai dalam C#.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kejadian Setiap Elemen dengan Cekap dalam Senarai C#?. 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