首页 >后端开发 >C++ >如何使用 GroupBy 有效地计算 C# 列表中元素出现的次数?

如何使用 GroupBy 有效地计算 C# 列表中元素出现的次数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-02 13:03:39279浏览

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

使用 GroupBy 计算列表中元素的出现次数

计算列表中每个元素的出现次数可能是一项繁琐的任务,尤其是如果列表很大。然而,在 C# 中有一个使用 GroupBy 方法的优雅解决方案。

GroupBy 方法将一系列元素作为输入,并根据指定的键对它们进行分组。在本例中,我们希望按元素的值对元素进行分组。

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

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

GroupBy 方法返回一个 IGrouping 对象。 object,其中 TKey 是分组键的类型,TElement 是组中元素的类型。在这种情况下,分组键是元素本身(即元素的值),组中的元素是该值的出现次数(即该值在列表中出现的次数)。

迭代每个组可以得到键(元素值)和出现次数(元素的计数)组)。

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

输出:

1 2
2 4
3 1
4 4
5 1

该解决方案高效且易于实现,使其成为任何程序员工具包的宝贵补充。

以上是如何使用 GroupBy 有效地计算 C# 列表中元素出现的次数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn