我有一个包含 Id 值的列表对象,例如它包含: 1,2,10,1,23,11,1,4,2,2,.. 等 我需要找出“1”,“2”,...等发生了多少次 在 C# 中使用 Linq
请帮忙。
最佳答案
使用 Enumerable.GroupBy
非常简单:
var grouped = list.GroupBy(x => x);
foreach (var group in grouped)
{
Console.WriteLine("{0} appears {1} times", group.Key, group.Count());
}
或者:
var query = list.GroupBy(x => x, (x, g) => new { Key = x, Count = g.Count() }));
foreach (var result in query)
{
Console.WriteLine("{0} appears {1} times", result.Key, result.Count);
}
(真正的区别在于我们何时将组转换为结果。)
关于c# - List<int> 使用 linq 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548005/