【发布时间】:2017-05-26 12:57:00
【问题描述】:
该场景适用于足球联赛表。我可以按比赛胜率和进球数对列表进行排序,以确定他们在联赛中的位置。然后,我使用此排序通过 IndexOf 函数获取球队在联赛表中的位置。
this.results = this.results.OrderByDescending(x => x.WinPercentage).ThenByDescending(x => x.Goals);
this.results.Foreach(x => x.Position = this.results.IndexOf(x));
当两支球队(应该是并列第一)有相同的比赛胜率和进球数时,问题就出现了,但是在获得索引时,一支球队将被分配到第一名,另一支球队被分配到第二名。
有没有办法获得正确的位置?
【问题讨论】:
-
我猜你的问题没有解决方案,一旦两个项目(ANY)在一个列表中具有相同的分数,你将总是一个在另一个之后。您必须开发一种方法来假设两个相同分数的相同列表位置:我建议您创建一个二维数组或 LIST,其中一个值是数字位置,并放弃 LIST 位置作为联盟中每支球队的索引。
-
是的,这就是我发布这个问题的原因,因为我目前的方法不起作用。我希望通过其他潜在的解决方案指出正确的方向。