首頁 >後端開發 >C++ >如何有效計算 C# 清單中元素出現的次數?

如何有效計算 C# 清單中元素出現的次數?

Barbara Streisand
Barbara Streisand原創
2025-01-03 09:45:39271瀏覽

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

使用C# 計算清單中的出現次數

在C# 中,有多種方法可用於有效計算清單中每個元素的出現次數。一種方法涉及利用 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()}");
}

在此範例中,GroupBy 方法採用 Func 。 delegate,指定如何將元素分組。在本例中,我們按元素本身進行分組。產生的 groupedList 是 IEnumerable>,其中每個 IGrouping 表示唯一元素及其計數。 IGrouping 的 Key 屬性表示元素值,Count() 方法傳回該元素出現的次數。

或者,您可以使用字典

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}");
}

以上是如何有效計算 C# 清單中元素出現的次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn