gpt4 book ai didi

c# - 带有两个列表谓词的 LINQ?

转载 作者:行者123 更新时间:2023-12-02 17:24:24 25 4
gpt4 key购买 nike

我有这样的代码:

string[] teamNames = teams.Select(x => x.Name).ToArray();
List<int> wins = new List<int>();
foreach(var _team in teamNames)
{
wins.Add(matches.Count(x =>
((x.Team1 == _team && x.Maps.Count(map => map.Score1 > map.Score2) > x.Maps.Count(map => map.Score2 > map.Score1)) ||
(x.Team2 == _team && x.Maps.Count(map => map.Score2 > map.Score1) > x.Maps.Count(map => map.Score1 > map.Score2))
)));
}

我想知道您是否可以以某种方式计算每个团队的胜利,而不先使用 foreach ,这只会在团队名称之后产生团队名称。有什么想法/

最佳答案

您应该能够通过将 foreach 替换为 Select 来完成此操作:

var wins = teamNames
.Select(_team =>
matches.Count(x =>
((x.Team1 == _team && x.Maps.Count(map => map.Score1 > map.Score2) > x.Maps.Count(map => map.Score2 > map.Score1)) ||
(x.Team2 == _team && x.Maps.Count(map => map.Score2 > map.Score1) > x.Maps.Count(map => map.Score1 > map.Score2))
))
)
.ToArray();

关于c# - 带有两个列表谓词的 LINQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30713305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com