首页 >后端开发 >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