记忆在if条件下

时间:2013-11-25 05:11:23

标签: c# .net vb.net

好的,这对我来说是个难题,让你想要知道我想知道的事情

假设这个伪代码:

While(true)

if(boolean is true)

else

End While

好吧,有了这个,我有一段时间,总是在运行,我想知道如果无论如何都要输入if,而不是每次都重新评估布尔值,你也需要知道布尔值可能会改变但是从不在如果是的话。

我知道这似乎是疯狂的思考,我只是想知道是否有可能在没有评估的情况下进入条件,如果条件在前一时间是真的。

修改

此外我想象一下这个想法来自一个电动电路,想象一个开关,如果接触是电力将对光线偏执,否则它将不会通过,但它确实,它真的检查它只是假设在哪里他可以去,我知道,我真的很困惑:S

编辑2

也许这会更清楚?我不确定

enter image description here

2 个答案:

答案 0 :(得分:1)

不,因为您所要求的是“如何在不检查条件的情况下进行分支?”答案是,你做不到。

如果条件检查是一个复杂的操作,那么你可以在布尔变量中记忆条件检查的结果,并对变量进行分支。

但是,为了真正消除示例中的分支,一般模式是将true和false条件分隔为while循环:

 while(true)
 {
     if(condition) break;
 }
 while(true)
 {
     // condition was true 
 }

答案 1 :(得分:-1)

简单,如果您希望它自动传递条件,只需发出if语句即可。