if语句- c# Do-While回调
本文关键字:Do-While 回调 语句 if | 更新日期: 2023-09-27 17:51:19
我的代码卡住了!
我有一个Do -While循环,在里面我有一个Switch-Case,每个case都有If Else条件,像这样:
问题在这里一旦我按下重试按钮(在If-Else条件下),我想回到Do循环的中间,并再次运行它进行检查……我不太确定我该怎么做。
如果switch case位于循环体的底部,您可以从一开始就调用continue
和循环。
如果您需要从循环的中间开始,而不是开始,我能想到的唯一方法是将中间部分包装在另一个循环体中。现在,continue
将应用于内循环,您将得到您想要的。
如果没有其他选择,可以使用goto,但要注意后果
我真的不知道你为什么要在一个巨大的循环和switch语句中构建这样的代码。对我来说,我可能会分手。这样会更容易理解。但也许你是有理由的。
如果可以,创建一个内部循环并继续执行该循环,直到返回一个非重试值。
如果这真的不起作用,那么我不高于使用goto
。我知道这对很多人来说是禁忌,但我的目标是写出清晰的代码。如果您知道自己在做什么,并且goto
会产生最清晰的代码,那么我建议您去做。
出于可读性和维护的考虑,您可能希望将代码分成函数。我建议你试试这个:
do
{
if(eErrorCode!=0)
{
if( GetResult(eErrorCode) == "Break")
break;
}
}
private string GetResult(eErrorCode)
{
switch(eErrorCode)
...
}