У меня есть объект, который выглядит примерно так:
public class Student
{
public string Name { get; set; }
public int Grade { get; set; }
}
Я хотел бы создать следующий запрос: группировать оценки по имени студента, упорядочивать каждую группу студентов по оценки и упорядочить группы по максимальной оценке в каждой группе.
Это будет выглядеть следующим образом:
A 100
A 80
B 80
B 50
B 40
C 70
C 30
Я создал следующий запрос:
StudentsGrades.GroupBy(student => student.Name)
.OrderBy(studentGradesGroup => studentGradesGroup.Max(student => student.Grade));
Но он возвращает IEnumerable
IGrouping
, и У меня нет возможности отсортировать список внутри, если я не сделаю это в другом запросе foreach
и добавлю результаты в другой список с помощью AddRange
.
Есть ли более красивый способ сделать это?