我的数据有多条相似的数据。它们是游戏中的最新结果,例如,如果游戏中有3个进球,那就意味着3条线。
我想将一个游戏区分为一行。但不同的行必须是最新的(firstOrDefault?)
我确实想要显示status =已确认和状态=开放,但显然我不想同时显示同一游戏“确认”和“打开”
所以我想按“Hometeam”和“outteam”两栏进行分组。但是对于同一场比赛,如果有3个进球我会得到3条线,但我想要“最新线”。
有人可以帮我这个吗?
答案 0 :(得分:3)
您可以尝试这样的事情:
data.GroupBy(d => new { Hometeam = d.Hometeam, Outteam = d.Outteam })
.Select(g => g.OrderBy(d => d.Status)
.ThenByDescending(d => d.GoalsHometeams + d.GoalsOutteams)
.First())
Confirmed
按字母顺序排在Open
之前)Open
),则会找到组合得分最高的条目。示例结果:
Current game status results:
Confirmed, Fylkir, Valur, 3, 1
Confirmed, Selfoss, Grindavik, 3, 3
Confirmed, Keflavik, IBV, 1, 0
Confirmed, Stjarnan, IA, 1, 1
Confirmed, Breioablik, Fram, 0, 2