日期:2014-05-17  浏览次数:21333 次

请问,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语句的用法

C# code?1234567891011for (int i = 0; i < 5; i++)            {                for (int j = 0; j < 4; j++)                {                    if (j == 3)                 ……


基本上,编程中应该严禁出现向后跳转的goto语句。

对于向前跳转的goto语句,也应该尽量不用。
------解决方案--------------------
对于C#来说,goto语句是最好的。

------解决方案--------------------
goto不要用,设置变量把,在循环外面加个变量判断,默认为false,如果里面break了,就设置变量为true,然后调出来立即检查变量,如果为true,就接着break,如果是false,那就接着循环