You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# ASP.NET Core中使用Linq统计列表元素重复次数?

用Linq统计列表元素的出现次数

针对给定的列表:

new List<int> { 1, 1, 5, 6, 7, 7, 7 }

可以通过Linq的GroupBy方法实现元素出现次数的统计,具体实现如下:

核心实现代码

  1. 定义目标列表:
var numbers = new List<int> { 1, 1, 5, 6, 7, 7, 7 };
  1. 用Linq分组并统计次数:
// 生成包含数字和对应出现次数的集合
var countCollection = numbers.GroupBy(n => n)
                            .Select(g => new { Number = g.Key, OccurrenceCount = g.Count() });
  1. 遍历输出结果:
foreach (var item in countCollection)
{
    Console.WriteLine($"{item.Number} 出现 {item.OccurrenceCount} 次");
}

运行后会输出:

1 出现 2 次
5 出现 1 次
6 出现 1 次
7 出现 3 次

进阶:转为字典快速查询

如果需要直接通过元素值获取次数,可以将结果转为Dictionary<int, int>:

var countDict = numbers.GroupBy(n => n)
                       .ToDictionary(g => g.Key, g => g.Count());

// 直接查询元素1的出现次数
int oneCount = countDict[1]; // 结果为2

原理说明

  • GroupBy(n => n):将列表中相同的int元素归为一组,每组的Key就是该元素的值。
  • g.Count():统计当前分组内的元素数量,也就是对应元素的出现次数。
  • Select/ToDictionary:将分组结果转换为更易使用的格式,方便后续输出或查询。

内容的提问来源于stack exchange,提问作者Noah Bergh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:57:06