如何查找哪个值具有使用LinQ的表中的最大行数?

问题描述:

看一看如下表:如何查找哪个值具有使用LinQ的表中的最大行数?

student  Subject 
badhon  English 
jack   math 
andy   physics 
farhan  english 
joe   english 
foe   physics 

现在我需要知道哪些对象有最大入口&什么是多少?我知道它对于有经验的人来说很简单,但我对LinQ真的很陌生。所以如果你能给我任何参考来研究各种LinQ例子,那太好了。谢谢。

嗯,它看起来像你想按行,然后通过数递减顺序,并采取的第一个结果:

var subjectsByCount = rows.GroupBy(row => row.Subject) 
          .Select(g => new { Subject = g.Key, Count = g.Count() }) 
          .OrderByDescending(x => x.Count); 
var biggestSubject = subjectsByCount.First(); 

// Now you can use biggestSubject.Subject and biggestSubject.Count 

严格地说,排序是不必要的 - 喜欢的东西MaxByMoreLINQ你可以在没有排序整个事物的情况下找到最大值。但这是最简单的方法,如果你只想保持在香草LINQ。