我遇到了一个简单的循环,无论我查询的参数如何,它似乎都会进入循环,以确定循环是否应该处理。下面是循环;
if (result[4] == 0x01 || result[5] == 0x01 || result[6] == 0x01 || result[7] == 0x01 || result[8] == 0x01 || result[9] == 0x01 & deviceState == false)
{
deviceState = true;
mainUI.setAlarmColour(result, device);
}
注意:我已经为最终参数尝试了“&”和“&&”,但两者都没有区别。
使用此循环,即使 deviceState 设置为 true,它也会继续进入循环。但是,如果我使用以下循环,它将停止此问题:
if (result[4] == 0x01 || result[5] == 0x01 || result[6] == 0x01 || result[7] == 0x01 || result[8] == 0x01 || result[9] == 0x01)
{
if (deviceState == false)
{
deviceState = true;
mainUI.setAlarmColour(result, device);
}
}
第二个循环解决了问题,它不再进入循环,这意味着我的函数没有被调用。
我在这里错过了一些基本的东西吗?我已经尝试过 messageBoxes 来验证它是否为假,并且它们以我期望的方式返回,但它仍然进入第一个循环。