有没有办法写一个方法,所以它就像休息一样;消费代码?我正在尝试替换一堆我这样做的地方:
if (flag == true)
{
break;
}
我正在编写一个控制台应用程序,它使用带有开关盒的while循环来显示菜单。我有一堆重复的代码,我想提取到方法中。具体而言,用户输入的方法需要能够返回主菜单。我一直在用布尔值(标志)作为这些方法的out参数。
答案 0 :(得分:0)
虽然我强烈阻止了这一点,但您可以通过抛出异常来摆脱循环:
public void AssertFlag(bool flag)
{
if(flag)
{
throw new Exception(); //You can use a more specific type
}
}
你在循环中调用此函数:
while(...)
{
// ... Code here
AssertFlag(flag);
// ... Code here
}
请注意,如果您未在调用堆栈中正确处理异常,那么您的应用程序将会崩溃。