2013-03-05 62 views
0

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

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

現在我需要知道哪些對象有最大入口&什麼是多少?我知道它對於有經驗的人來說很簡單,但我對LinQ真的很陌生。所以如果你能給我任何參考來研究各種LinQ例子,那太好了。謝謝。

回答

2

嗯,它看起來像你想按行,然後通過數遞減順序,並採取的第一個結果:

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。

相關問題