class TeamInfo
{
public int TeamId { get; set; }
public int Points { get; set; }
public int Average { get; set; }
}
TeamId : 5,22,11,52,59
Points : 3, 8, 8,12,16
Average : 8,-2,-4, 1, 5
У меня есть список объектов TeamInfo (List<TeamInfo> teamInfoList
)
Я хочу отсортировать этот список следующим образом:
TeamId | Points | Average
59 | 16 | 5
52 | 12 | 1
22 | 8 | -2
11 | 8 | -4
5 | 3 | -8
Мне нужно отсортировать сначала по точкам (по убыванию), а затем по среднему (по убыванию), если точки совпадают.
Я пробовал это;
List<int> sortTeams = teamInfoList
.GroupBy(x => new { x.TeamId , x.Points, x.Average })
.OrderByDescending(x=>new { x.Key.Points, x.Key.Average })
.Select(i => i.Key.TeamId).ToList();
Полагаю, мне нужно реализовать IComparable
, но я понятия не имею, как это сделать.