分组平均
问题描述:
我有学生的名单像下面分组平均
public class Student
{
public string First { get; set; }
public string Last { get; set; }
public int ID { get; set; }
public List<int> Scores;
}
List<Student> students = new List<Student>()
{
new Student { First = "a", Last = "aa", ID = 1, Scores = new List<int>() { 97, 92, 81, 60 } },
new Student { First = "b", Last = "bb", ID = 2, Scores = new List<int>() { 75, 84, 91, 39 } },
new Student { First = "c", Last = "cc", ID = 3, Scores = new List<int>() { 88, 94, 65, 91 } },
};
如何可以根据自己的分数avarages我一群学生?
答
var groups = students.GroupBy(s => s.Scores.Average());
这给你的元素与关键等于平均和值等于学生与普通的列表:
foreach(var g in groups){
Console.WriteLine("Average: "+ g.Key);
foreach(var s in g){
Console.WriteLine(s.ID +":"+ s.First +" "+ s.Last);
}
}
那么你尝试过什么?你想要什么样的平均水平? – 2013-04-21 19:54:54