asp.net – LINQ:列表中唯一项目的计数
发布时间:2020-05-24 01:01:08 所属栏目:asp.Net 来源:互联网
导读:我有一个正确存储在列表中的ID列表.我现在需要对此列表进行分组,并获得按降序排序的发生次数的计数. 例: Liststring aryIDs = new Liststring;aryIDs.Add(1234);aryIDs.Add(4321);aryIDs.Add(3214);aryIDs.Add(1234);aryIDs.Add(4321);aryID
|
我有一个正确存储在列表<>中的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的回答如下: Dim result = From id In aryIDs _
Group id By id Into Group _
Order By Group.Count() Descending _
Select id,Count = Group.Count()
result.Dump()
解决方法List<string> aryIDs = new List<string>();
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
var result = from id in aryIDs
group id by id into g
orderby g.Count() descending
select new { Id=g.Key,Count=g.Count() };
result.Dump();
剪切并粘贴到LinqPad,你应该很好去. 也可以使用Lambda表达式来写: aryIDs.GroupBy (id => id).OrderByDescending (id => id.Count()).Select(g => new { Id=g.Key,Count=g.Count()}).Dump(); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何在ASP.NET页面上注册自定义服务器控件
- 如何使用ASP.NET创建和填充ZIP文件?
- asp.net – 如何为我的网站实现Facebook“赞”按
- asp.net-mvc – ASP.NET MVC Html.DropDownList由
- asp.net-mvc – 在ASP.NET MVC中,response.redir
- Asp.net错误无法加载文件或程序集
- asp.net – 如何摆脱包含GridView的空div
- asp.net-mvc – 如何传递特殊字符使ASP.NET MVC可
- asp.net – 在代码GZipping中的IIS压缩?
- asp.net – HttpWebRequestError:服务器提交协议
热点阅读
