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

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

Barbara Streisand
Lepaskan: 2025-01-03 09:45:39
asal
283 orang telah melayarinya

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

Mengira Kejadian dalam Senarai menggunakan C#

Dalam C#, terdapat pelbagai kaedah yang tersedia untuk mengira kejadian setiap elemen dalam senarai dengan berkesan . Satu pendekatan melibatkan penggunaan kaedah sambungan GroupBy:

using System;
using System.Collections.Generic;
using System.Linq;

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

// Group the list elements based on their values
var groupedList = list.GroupBy(i => i);

// Iterate over each group and count the occurrences
foreach (var group in groupedList)
{
    Console.WriteLine($"{group.Key}: {group.Count()}");
}
Salin selepas log masuk

Dalam contoh ini, kaedah GroupBy mengambil Func perwakilan, yang menentukan cara mengumpulkan elemen. Dalam kes ini, kami mengumpulkan mengikut elemen itu sendiri. GroupedList yang terhasil ialah IEnumerable>, di mana setiap IGrouping mewakili elemen unik dan kiraannya. Sifat Kunci IGrouping mewakili nilai elemen dan kaedah Count() mengembalikan bilangan kejadian untuk elemen tersebut.

Sebagai alternatif, anda boleh menggunakan Dictionary:

using System;
using System.Collections.Generic;

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

// Create a dictionary to store element counts
Dictionary<int, int> counts = new Dictionary<int, int>();

// Populate the dictionary with counts
foreach (var item in list)
{
    if (counts.ContainsKey(item))
    {
        counts[item]++;
    }
    else
    {
        counts[item] = 1;
    }
}

// Iterate over the dictionary to print element counts
foreach (var kvp in counts)
{
    Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
Salin selepas log masuk

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