检查if else块中的多个条件

时间:2016-11-04 16:13:28

标签: c#

这看起来应该很简单,但这段代码无效。

我只需要检查并确保当前的race_position不等于总计数或不大于计数或不等于0.如果是其中任何一个,那么我想要摆脱循环。< / p>

我甚至在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;
}

2 个答案:

答案 0 :(得分:5)

你是OR||)条件在一起,意味着如果一个是真的,那么该块将被执行。你想将AND&&)放在一起,这样它们都必须是真的,否则循环就会退出。

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

答案 1 :(得分:2)

if(!(race_position < race_team.Count &&  race_position > 0))
    break;

next_position = (race_position + 1);