c#方法的作用类似于&;break;&;到消费代码
本文关键字:代码 break 方法 作用 类似于 | 更新日期: 2023-09-27 18:05:23
是否有一种方法可以编写一个方法,使其像break一样;到消费代码?我正在尝试替换一堆我这样做的地方:
if (flag == true)
{
break;
}
我正在编写一个控制台应用程序,该应用程序使用带有开关的while循环来显示菜单。我有一堆重复的代码,我想把它们提取到方法中。特别是接受用户输入的方法需要能够返回到主菜单。我一直在使用布尔(标志)作为这些方法的输出参数。
虽然我强烈建议这样做,但是您可以通过抛出一个异常来中断循环:
public void AssertFlag(bool flag)
{
if(flag)
{
throw new Exception(); //You can use a more specific type
}
}
你可以在循环中调用这个函数:
while(...)
{
// ... Code here
AssertFlag(flag);
// ... Code here
}
请注意,如果你没有在调用堆栈中正确处理异常,那么你的应用程序将崩溃。