此查询:
var s =
from student in students
group student by student.Year
into studentGroup
orderby studentGroup.Key
select studentGroup;
按学生年份排序我的小组。结果是:
FirstYear
FirstYear
SecondYear
SecondYear
SecondYear
ThirdYear
ThirdYear
ThirdYear
FourthYear
FourthYear
FourthYear
我想使用不同的linq方法进行相同的查询:
var s = students
.GroupBy(x => x.Year)
.Select(group => group.OrderBy(record => record.Year));
但在这种情况下,年份没有正确排序。它们按组分类,但不是整体分类。多数民众赞成我得到的:
SecondYear
SecondYear
SecondYear
ThirdYear
ThirdYear
ThirdYear
FirstYear
FirstYear
FirstYear
FourthYear
FourthYear
FourthYear
我做错了什么?
答案 0 :(得分:2)
在OrderBy
和GroupBy
之间移动Select
:
var s = students
.GroupBy(x => x.Year)
.OrderBy(group => group.Key)
.Select(group => group);