LINQで得点上位X件以上を取得し、順位をつけたい
よくある、「ポイント上位X件」をLINQで実現しようとしています。
class Member {
public string Name { get; set; }
public int Point { get; set; }
}
のようなインスタンス配列を普通に、
var SelectedMembers = AllMembers
.OrderByDescending(mem => mem.Point)
.Take(100);
とかすると、同一ポイントの人が多数いる場合に正しく抽出できないように思います。
これを、よくあるポイント順
1.AAA
2.BBB
2.CCC
4.DDD
4.EEE
4.FFF
のように、指定人数以上になっても抽出し、同一ポイントを加味してグループリスト化するにはどうしたらよいでしょうか?