可能な値のリストがあります
|チーム| |年| 勝利| 「チーム 1」 2014 7 「チーム 2」 2015 9 「チーム 1」 2014 8
私は結果を取得したい
|チーム| |年| 勝利| 「チーム1」 2014 15 「チーム2」 2015 9
私はそれをやろうとしましたが、少なくとも1つのオブジェクトがIcomparableを実装する必要があります
gameResults =
gameResults.GroupBy(t => new{t.ContendersName, t.Year})
.OrderBy(g => g.Key)
.Select(g => new PivotTeamResult()
{
ContendersName = g.Key.ContendersName,
Year = g.Key.Year,
Wins = g.Sum(x => x.Wins)
}).ToList();
IComparable を次のように実装します
public int CompareTo(オブジェクト obj) {
PivotTeamResult teamResult = (PivotTeamResult)obj;
if (this.ContendersName == teamResult.ContendersName)
{
return this.Year.CompareTo(teamResult.Year);
}
return teamResult.ContendersName.CompareTo(this.ContendersName);
}
どうすれば正しい結果を得ることができますか?