Man*_*nsa 1 c# for-loop if-statement while-loop
不确定问题是否正确,但这是我想要完成的.
我正在运行一个for循环,我想在每个循环中更改if语句.
这是一个例子:
for(int i=0;i<3;i++){
int currentField = field;
var context1=currentField;
int curprogr=0;
switch (i){
case 0:
context1 = currentField % 10 != 0;
curprogr = 1;
break;
case 1:
context1 = Mathf.Floor(currentField/10) != 0;
curprogr = 10;
break;
case 2:
context1 = currentField % 10 != 0 && Mathf.Floor(currentField/10) != 0;
curprogr = 11;
break;
}
while(context1){ // Here is where I want it to chnage for each time the loop runs through //
// Some logic here... //
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:无法隐式转换bool' to每个switchcase中关于context1的类型int'.
希望这是有道理的,任何帮助都表示赞赏.
提前致谢
context1是的,int因为你int在这里赞成它:
int currentField = field;
var context1 = currentField;
Run Code Online (Sandbox Code Playgroud)
但是后来你在bool这里指定了一个:
context1 = currentField % 10 != 0;
Run Code Online (Sandbox Code Playgroud)
本!=-运算符要么退货true或false,所以你不能把它分配给该变量.
所以只需将它变为bool变量:
bool context1 = false;
Run Code Online (Sandbox Code Playgroud)
我还认为你实际上想要使用if而不是while-loop.
所以改成它
if(context1)
{
// Here is where I want it to change for each time the loop runs through //
}
Run Code Online (Sandbox Code Playgroud)
为什么我这么想?因为你if在标题中提到过,似乎你不想改变while-loop中的条件,这使得它成为一个无限循环.