【发布时间】:2015-02-10 11:09:56
【问题描述】:
我有一群学生,我想按班级级别对他们进行分组,例如大一、大二、大三、大四。然后我想按 GPA 订购它们。
因此,如果我只是想让学生获得最好的 GPA,我的潜在结果集将类似于:
Freshman - Name: James GPA : 3.9
Sophomore - Name: Jessie GPA : 4.0
Junior - Name: Caitlyn GPA: 3.9
Senior - Name: Joshua GPA: 3.95
我尝试过这样的事情:
var result = students.GroupBy(x => x.Level).OrderByDescending(x => x.GPA).Take(count).ToList();
但它总是坏掉,我不知道如何修复它。我尝试在它们之间放置一个 Select 并将 OrderBy 移动到 Select 中,但我也无法让它工作。
【问题讨论】:
-
但它总是坏掉,我不知道如何修复它。坏掉怎么办?如果您使用的是 NHibernate ...它的 LINQ 提供程序不是很好。
-
很可能无法编译,因为组中没有 GPA 属性
-
老实说,我不太确定它为什么会损坏。我将以一种不会引发错误的方式拥有它,但是当我运行它时程序会崩溃。我只是将 Visual Studio 与常规 Linq using 语句一起使用。
-
然后我想按 GPA 排序 你想在每个组中排序学生吗?或者按最高/最低/平均 GPA 对组进行排序?