Use*_*MVC 6 .net c# linq lambda
以下格式的数据对象列表
Col1 Col2 Col3
B 45 36
B 12 69
A 46 76
C 89 09
B 451 37
D 435 46
A 450 50
D 98 43
B 358 39
A 987 89
Run Code Online (Sandbox Code Playgroud)
需要获得如下格式的结果集('A'发生3次,'B'发生4次等)
Value Count
A 3
B 4
C 1
D 2
Run Code Online (Sandbox Code Playgroud)
如何使用LINQ或lambda表达式获得如上所述的结果集?
您可以使用GroupBy.
var groupedlist = list.GroupBy(c => c.Col1)
.Select((key, c) => new {Value = key, Count = c.Count()});
Run Code Online (Sandbox Code Playgroud)
你可以通过lambda表达式实现它
var list = from x in dataObjects
group x by x.Col1 into g
select new { Value = g.Key, Count = g.Count() };
Run Code Online (Sandbox Code Playgroud)
并通过GroupBy@Asif回答使用Linq Extension方法
var dictionary = list.GroupBy(str => str.Col1)
.ToDictionary(group => group.Key, group => group.Count());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4055 次 |
| 最近记录: |