Linq упорядочить, сгруппировать и упорядочить по каждой группе?C#

Место общения программистов C#
Anonymous
Linq упорядочить, сгруппировать и упорядочить по каждой группе?

Сообщение Anonymous »

У меня есть объект, который выглядит примерно так:

Код: Выделить всё

public class Student
{
public string Name { get; set; }
public int Grade { get; set; }
}
Я хотел бы создать следующий запрос: сгруппировать оценки по имени учащегося, упорядочить каждую группу учащихся по оценкам и упорядочить группы по максимальной оценке в каждой группе.
Результат должен выглядеть так:

Код: Выделить всё

John 100
John 80
Lucy 80
Lucy 50
Lucy 40
Eric 70
Eric 30
Я создал следующий запрос:

Код: Выделить всё

StudentsGrades.GroupBy(student => student.Name)
.OrderBy(studentGradesGroup => studentGradesGroup.Max(student => student.Grade));
Но это возвращает IEnumerable IGrouping, и у меня нет возможности отсортировать список внутри, если я не сделаю это в другом запросе foreach и не добавлю результаты в другой список с помощью AddRange.
Есть ли более красивый способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/501 ... each-group

Вернуться в «C#»