检查if else块中的多个条件

本文关键字:条件 if else 检查 | 更新日期: 2023-09-27 18:16:42

这看起来应该很简单,但是这段代码没有工作。

我只需要检查并确保当前race_position不等于总计数或不大于计数或不等于0。如果是以上任何一种情况,那么我想跳出循环。

我甚至在visual studio调试器中检查了它,并且看到当race_position为0时,它仍然表现得好像它不是0并且永远不会跳出循环。

是否有一种方法可以简化并使其工作?

谢谢!

if (race_position != race_team.Count || !(race_position > events.Count) || race_position != 0)
{
    next_position = (race_position + 1);
}
else
{
    break;
}

检查if else块中的多个条件

您将OR (||)条件放在一起,这意味着如果其中一个为真,则该块将执行。您需要将它们一起AND (&&),以便它们都必须为真,否则循环将退出。

race_position为0时,则race_position != race_team.Counttrue,因此循环继续。

if(!(race_position < race_team.Count &&  race_position > 0))
    break;
next_position = (race_position + 1);