【发布时间】:2011-02-08 17:21:35
【问题描述】:
我有一个正确存储在 List 中的 id 列表。我现在需要对这个列表进行分组并计算按降序排列的出现次数。
例子:
List<string> aryIDs = new List<string>;
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
会产生:
"1234", 3
"4321", 2
"3214", 1
这在 TSQL 中很容易,但我想尽可能避免服务器往返、不必要的表等。
提前致谢。
更新:以下 Ralph Shillington 的答案的 VB.NET 转换:
Dim result = From id In aryIDs _
Group id By id Into Group _
Order By Group.Count() Descending _
Select id, Count = Group.Count()
result.Dump()
【问题讨论】:
-
你提到T-SQL...你的意思是,所有这些数据都在数据库中?为什么不获取它已经分组和排序?还是我误会了什么?
标签: asp.net linq sorting count ienumerable