我想找到使用linq查询重复的整数.例如,我的清单包括
var array = new int[]{1,1,1,2,2,2,2,3,3,9,9,16,16};
现在我想查询像我想的计数1的3
计数2的4
计数3的2
计数9的2
计数16为2
我如何在c#中使用linq来做到这一点.希望你理解我的问题.
Dav*_*ish 13
使用LINQ很容易 GroupBy
var numbers = new int[] { 1, 1, 1, 2, 2, 2, 2, 3, 3, 9, 9, 16, 16 };
var counts = numbers
.GroupBy(item => item)
.Select(grp => new { Number = grp.Key, Count = grp.Count() });
Run Code Online (Sandbox Code Playgroud)
结果:
Number Count
1 3
2 4
3 2
9 2
16 2
Run Code Online (Sandbox Code Playgroud)