I am trying to calculate the rank of objects. Since multiple objects can have the same score I would need to group them so they get the same rank.
public class RankedItem {
public string Name {get; set;}
public int Score {get; set; }
public int Rank {get; set; }
public RankedItem(string name, int score) {
Name = name;
Score = score;
}
}
public void CalculateRanks() {
List<RankedItem> items = new List<RankedItems> {
new RankedItem("A", 3),
new RankedItem("B", 2),
new RankedItem("C", 3),
new RankedItem("D", 1),
new RankedItem("E", 2)
};
IOrderedEnumerable<IGrouping<int, RankedItems>> rankedItems = items.GroupBy(i => b.Score).OrderBy(g => g.Key);
}
How can I set the rank now, so that rank 1 will be assigned to the highest score?
