c#方法的作用类似于&;break;&;到消费代码

本文关键字:代码 break 方法 作用 类似于 | 更新日期: 2023-09-27 18:05:23

是否有一种方法可以编写一个方法,使其像break一样;到消费代码?我正在尝试替换一堆我这样做的地方:

if (flag == true)
{
    break;
}

我正在编写一个控制台应用程序,该应用程序使用带有开关的while循环来显示菜单。我有一堆重复的代码,我想把它们提取到方法中。特别是接受用户输入的方法需要能够返回到主菜单。我一直在使用布尔(标志)作为这些方法的输出参数。

c#方法的作用类似于&;break;&;到消费代码

虽然我强烈建议这样做,但是您可以通过抛出一个异常来中断循环:

public void AssertFlag(bool flag)
{
    if(flag)
    {
         throw new Exception(); //You can use a more specific type
    }
}

你可以在循环中调用这个函数:

while(...)
{
     // ... Code here
     AssertFlag(flag);
     // ... Code here
}

请注意,如果你没有在调用堆栈中正确处理异常,那么你的应用程序将崩溃。