totalScoreを1つのプロパティとして含むオブジェクトのリストがあります。チームのトータルスコアに応じてチームのランクを取得したいと思います。リストデータ=新しいリスト();いくつかの条件によってオブジェクトのリストからランクを取得
このように、データには合計スコアプロパティを持つscoreboardクラスのオブジェクトが含まれています。 私はtotalscoreに応じてチームのランクを必要としています。ここでは試してみましたが、ランク= 1,2,2,3のような結果が出ますが、ランク= 1,2,2,4が必要です。
data.OrderByDescending(x => x.totalScore).GroupBy(x => x.totalScore)
.SelectMany((g, i) => g.Select(e => new { data = e.Rank = i + 1 }))
.ToList();
データリストは、独自のチームを含んでいますが、合計スコアが同じため、同じtotalscoreチームが1つのランクであることが必要があるかもしれません。私を助けてください!
私が誤解しているとお詫び申し上げますが、あなたがデザインしたいのは、(合計得点に基づいて)ランク別にリストを並べ替える方法です。しかしながら; 2つのチームがスコアで結ばれている場合、それらはランク(例えば2位)を共有しなければならず、チームは3位になりませんか?同じスコアを持つチームがない場合、順番は正しいでしょうか? – mtaanquist
2つのチームが同じ得点を持つことができます。t1 = 100、t2 = 100、t1 = 50の場合ランク= 1,1,3 – User1710