相关疑难解决方法(0)

使用LINQ获取组的平均值

我试图根据List中每个项目的特定值将我的List分成不同的组,然后找到这些组中另一个值的平均值.

为了更好地说,我有一个学生名单:

List<Student> students = new List<Student> {
    new Student { Name="Bob", Level=Level.Sophomore, GPA=3.2f },
    new Student { Name="Cathy", Level=Level.Freshman, GPA=3.6f },
    new Student { Name="James", Level=Level.Senior, GPA=3.8f },
    new Student { Name="Jessica", Level=Level.Senior, GPA=3.7f },
    new Student { Name="Derek", Level=Level.Junior, GPA=2.8f },
    new Student { Name="Sam", Level=Level.Junior, GPA=3.1f }
};
Run Code Online (Sandbox Code Playgroud)

我想按照他们的班级对他们进行分组,因此他们将分为新生,二年级,初中和高年级.然后我希望能够获得这些组的平均GPA.

因此,为这些学生设置的可能结果将是:

Senior: 3.7
Junior: 2.9
Sophomore: 3.2
Freshman : 3.6
Run Code Online (Sandbox Code Playgroud)

我不太确定如何获得这个结果.我尝试了类似的东西,students.GroupBy(x => x.Level).Average();但它不起作用.

对此的任何想法将不胜感激.谢谢!

c# linq

5
推荐指数
1
解决办法
1558
查看次数

标签 统计

c# ×1

linq ×1