看看下表:
student Subject
badhon English
jack math
andy physics
farhan english
joe english
foe physics
现在我需要知道哪个科目有最大入口和这是多少?我知道这对经验丰富的人很简单,但我对LinQ来说真的很新。所以如果你能给我任何参考研究各种LinQ示例,那就太好了。感谢。
答案 0 :(得分:2)
好吧,看起来你想按行分组,然后按count(降序)排序并取第一个结果:
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
严格来说,排序是不必要的 - 使用MoreLINQ中的MaxBy
之类的内容,您可以找到最大值而无需对整个事物进行排序。但如果你只想留在香草LINQ中,这是最简单的方法。