请问,break如何跳出外层循环
foreach
{
foreach
{
foreach
{
for()
{
if()
break;
}
}
}
}
如果条件满足,如何让break跳出最外层循环?
------解决方案--------------------详情请查阅goto语句的用法
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 4; j++)
{
if (j == 3)
goto Found;
}
}
Found:
Console.WriteLine("aaa");
------解决方案--------------------goto加一
无条件跳转语句,但是一般只建议在跳多层循环时使用。
------解决方案--------------------重构。(在你的vs里的设计窗口中,点击鼠标右键,你可以看到“重构”选项)
private void abc(....)
{
foreach
{
foreach
{
foreach
{
for()
{
if()
return;
......
------解决方案--------------------重构选项中有好几种方法,你可以选择“提取方法”方法。
除了重构菜单,我们还经常使用Ctrl+K+M(生成方法存根),在一个对象后边的代码上点击鼠标右键选择“生成->属性/字段”等等,这些都是重构方法。
这些都是“小伎俩”,但是是非常基本的编程模式,不用动脑子。
------解决方案--------------------
基本上,编程中应该严禁出现向后跳转的goto语句。
对于向前跳转的goto语句,也应该尽量不用。
------解决方案--------------------对于C#来说,goto语句是最好的。
------解决方案--------------------goto不要用,设置变量把,在循环外面加个变量判断,默认为false,如果里面break了,就设置变量为true,然后调出来立即检查变量,如果为true,就接着break,如果是false,那就接着循环