我想控制一个while循环,如果结果为“ Continue”,我什么都不做,如果结果为“ Retry”,我想跳过此步骤,如果结果为“ Finish”,我想中断循环。
问题在于switch语句本身正在使用我需要管理循环的“ break”和“ continue”关键字。
while(some bool)
{
var result = GetResult(...);
switch(result)
{
case MyResult.Continue:
//do nothing
break;
case MyResult.Retry:
// continue the loop
break;
case MyResult.Finish:
// break the loop
break;
}
}
这是否可能?或者我应该只使用if else语句(毕竟,可能的结果范围不是很大)吗?
编辑:
A.d。 “跳过步骤”: 好吧,我想过分概括这个过程。实际上,如果结果是“ Continue”,我想执行一些代码,那么问题的好处是,是否有可能在switch语句中使用“ break”和“ continue”来控制循环。 所以是的,答案已经在here
中答案 0 :(得分:1)
您对“ 跳过步骤”的问题有点不清楚,因为您尚未指定这实际上是什么意思,但是可以,您可以完全使用开关来管理循环条件
bool continueLoop = true;
while(continueLoop)
{
var result = GetResult(...);
switch(result)
{
case MyResult.Continue:
//do nothing
break;
case MyResult.Retry:
// continue the loop
break;
case MyResult.Finish:
// break the loop
continueLoop = false;
break;
}
}