日期:2014-05-20  浏览次数:21032 次

如何获得groupby结果里面第一个分组的第一条数据

List<t_News> list = 。。。。。。;
var query= list.GroupBy(q => q.Type);
t_News info=(t_News)(query.Take(1).Take(1));


最后那句出错,你懂的,但是我不懂。。。
求助。。。。
目的是获得分组之后,第一个集合里面的第一条数据。
考虑到后面还要获得第N个集合里面的第N条数据,所以用了Take方法,以后配合Skip使用。
GroupBy

------解决方案--------------------
query.Take(1).Take(1)
相当于
query.Take(1)

query.Take(a).Take(b)
相当于query.Take(a > b ? b : a)
------解决方案--------------------
List<t_News> list = 。。。。。。;
var query= list.GroupBy(q => q.Type).Select(g=>g.First());
t_News info=query.FirstOrDefault();