简体   繁体   English

C#linq,获取集合中最频繁的项目

[英]C# linq, obtain most frequent item in collection

i am trying to obtain an item from a collection that occurs most frequently. 我正在尝试从最频繁出现的集合中获取项目。 if i were in SQL i would do something like this.. 如果我使用SQL,我会做这样的事情。

select top(1) extension from database.table
group by extension
order by count(extension) desc

but im trying to do this using linq. 但是我试图使用linq做到这一点。

Can someone assist with the translation? 有人可以协助翻译吗?

so far i have this but its not working... 到目前为止,我有这个但它不起作用...

string topExtension = (from c in extensions select c).GroupBy(d => d).OrderByDescending(e => e.Count()).SingleOrDefault();

Try FirstOrDefault instead. 请尝试使用FirstOrDefault

EDIT: Oops, sorry. 编辑:糟糕,抱歉。 Try .FirstOrDefault().Key . 尝试.FirstOrDefault().Key

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM