gpt4 book ai didi

c# - 令人困惑的for循环C#

转载 作者:行者123 更新时间:2023-11-30 14:37:36 25 4
gpt4 key购买 nike

我正在使用此循环遍历我的数据库,并检查玩家俱乐部字段是否与 clubAway 变量匹配。在 if 语句中它“变得狂暴”。

Baza = 数据集

玩家 = 数据库中的表

俱乐部 = int 字段

俱乐部客场

我已经用消息框检查了这些值,它说例如:Club = 1 和 IDclub = 2.. 但它无论如何都会进入 if 语句。我有完全相同的 for 循环,不同之处在于 clubAway 是 clubHome,它工作正常。

for (int o = 0; o <= 10; o++)
{
for (int p = 1; p <= Baza.Players.Count; p++)
{
if (Baza.Players[p - 1 + o].Club == clubAway.IDclub)
{//do something
}
}
}

最佳答案

我不清楚 o 的目的,但也许这段代码会让你走上一条更好的道路:

var players = Baza.Players.Where(player => player.Club == clubAway.IDclub).Take(11);

foreach(var p in players){
//do something with p
}

更新

在阅读原帖下方的评论时,我推断您只是想在集合中找到与 clubAway 值匹配的第一个 实例。如果这是正确的,那么这些代码片段之一会更合适(取决于您的业务规则):

var player = Baza.Players.FirstOrDefault(player => player.Club == clubAway.IDclub);

var players = Baza.Players;
foreach(var _player in players){
var player = _player.FirstOrDefault(p=> p.Club == clubAway.IDclub);
//Now do something with player.
}

这将返回“玩家”实体。要使用它,您可以这样做(例如):

var playerTeamName = player.teamName;

当然,我不了解您的实际模型,因此您的代码看起来会有所不同,但会遵循该模式。

祝你好运!

关于c# - 令人困惑的for循环C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9054985/

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