C# 是否可以使用switch语句管理循环?

C# 是否可以使用switch语句管理循环?,c#,loops,switch-statement,break,continue,C#,Loops,Switch Statement,Break,Continue,我想控制一个while循环,如果结果是“继续”,我什么也不想做,如果是“重试”,我想跳过这个步骤,如果是“完成”,我想打破这个循环 问题是switch语句本身使用了我管理循环所需的“break”和“continue”关键字 while(一些bool) { var result=GetResult(…); 开关(结果) { 案例MyResult。继续: //无所事事 打破 案例MyResult。请重试: //继续循环 打破 案例MyResult.Finish: //打破循环 打破 } } 这是可

我想控制一个while循环,如果结果是“继续”,我什么也不想做,如果是“重试”,我想跳过这个步骤,如果是“完成”,我想打破这个循环

问题是switch语句本身使用了我管理循环所需的“break”和“continue”关键字

while(一些bool)
{
var result=GetResult(…);
开关(结果)
{
案例MyResult。继续:
//无所事事
打破
案例MyResult。请重试:
//继续循环
打破
案例MyResult.Finish:
//打破循环
打破
}
}
这是可能的还是我应该用if-else语句来实现(毕竟,可能结果的范围并不是很大)

编辑:

A.d.“跳过这一步”: 嗯,我想过度概括这个过程。实际上,如果结果是“Continue”,我想执行一些代码,问题的优点是是否可以使用“break”和“Continue”从switch语句中控制循环。
是的,答案已经在

中。您的问题对于“跳过步骤”有点不清楚,因为您没有指定这实际上意味着什么,但是是的,您完全可以使用开关来管理循环条件

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;
   }
}

什么都不做和继续循环有什么区别?“跳过步骤”,哪一步?你试过了吗?它有效吗?或者甚至对(bool continueLoop=true;continueLoop;){…}而不是
bool continueLoop=true;而(continueLoop){…}
一般情况下
continueLoop=false;继续如果在
开关之后有一些代码
而(…){…开关(结果){}一些代码{u这里}