请问,break如何跳出外层循环

asewv 2012-12-16 09:58:50

foreach
{
foreach
{
foreach
{
for()
{
if()
break;
}
}

}
}


如果条件满足,如何让break跳出最外层循环?
...全文
1293 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy_Can 2014-08-23
  • 打赏
  • 举报
回复
在最外层直接break即可:

...
bool flag=false;
while(  )
{//最外层循环
  if(flag)
break;
...
while()
{//如果你想要在这层退出循环
  ...
flag=false;
break;
...
}
}
闽悦蚊子 2013-01-02
  • 打赏
  • 举报
回复
有一种比较简单的办法,就是条件满足时,设置i,j,k等使它们满足所有外层的终止条件即可!
凌愚人 2012-12-17
  • 打赏
  • 举报
回复
把break改为return.
sunny906 2012-12-17
  • 打赏
  • 举报
回复
直接把break;改为return;
七色鸟 2012-12-17
  • 打赏
  • 举报
回复
亲,用goto吧!挺好!
wt_jn 2012-12-17
  • 打赏
  • 举报
回复
引用 20 楼 wt_jn 的回复:
引用 17 楼 lflsg 的回复: 定义一个 bool 类型 如果 bool 值 为 true ,那么就一层 一层跳出,一层加一个 break,最后跳出为止 说的很清楚了,圈复杂度太高的代码可读性不好
不过这个bool不是变量,而是提取新的方法,这就是重构
wt_jn 2012-12-17
  • 打赏
  • 举报
回复
引用 17 楼 lflsg 的回复:
定义一个 bool 类型 如果 bool 值 为 true ,那么就一层 一层跳出,一层加一个 break,最后跳出为止
说的很清楚了,圈复杂度太高的代码可读性不好
Assassin_ 2012-12-17
  • 打赏
  • 举报
回复
人家就问怎么跳出 。你跟人家扯什么重构。 搞笑。
Assassin_ 2012-12-17
  • 打赏
  • 举报
回复
lflsg 2012-12-17
  • 打赏
  • 举报
回复
定义一个 bool 类型 如果 bool 值 为 true ,那么就一层 一层跳出,一层加一个 break,最后跳出为止
__天涯寻梦 2012-12-17
  • 打赏
  • 举报
回复
goto 是最好的,别来什么变量提取方法,只要提供就该用,C# 里还有 unsafe 代码了,人为限制这个限制那个纯粹自找麻烦
china_jeffery 2012-12-17
  • 打赏
  • 举报
回复
老手与新手的区别体现在奇淫技巧的使用上了
翔教授 2012-12-17
  • 打赏
  • 举报
回复
这个例子中用goto比较好,具体问题具体分析,道理是死的,人是活的.
abc41106 2012-12-17
  • 打赏
  • 举报
回复
引用 7 楼 ipzlkmy 的回复:
goto不要用,设置变量把,在循环外面加个变量判断,默认为false,如果里面break了,就设置变量为true,然后调出来立即检查变量,如果为true,就接着break,如果是false,那就接着循环
这个方法个人感觉比较简单易懂,只不过需要层层判断,如果你的逻辑比较简单的话,可以考虑这个。
csdn_风中雪狼 2012-12-17
  • 打赏
  • 举报
回复
引用 9 楼 caozhy 的回复:
引用 5 楼 sp1234 的回复: 基本上,编程中应该严禁出现向后跳转的goto语句。 对于向前跳转的goto语句,也应该尽量不用。 具体问题具体分析,我可以举出很多案例说明用goto带来更好的可读性。 因为新手用不好goto,所以很多人都告诫新手,不要用goto。但是我会和团队的人说,如果特定情况我告诉你用goto更好,那你就放心按照我说的做好了。
+++1
快溜 2012-12-17
  • 打赏
  • 举报
回复
使用goto的代码可读性差到极点,不建议使用,微软应该屏蔽掉这关键字。
jimette 2012-12-17
  • 打赏
  • 举报
回复
引用 9 楼 caozhy 的回复:
引用 5 楼 sp1234 的回复:基本上,编程中应该严禁出现向后跳转的goto语句。 对于向前跳转的goto语句,也应该尽量不用。 具体问题具体分析,我可以举出很多案例说明用goto带来更好的可读性。 因为新手用不好goto,所以很多人都告诫新手,不要用goto。但是我会和团队的人说,如果特定情况我告诉你用goto更好,那你就放心按照我说的做好了。 ……
学习
  • 打赏
  • 举报
回复
你学的太死板了,可以用if else 或者for 来做呀。
south_baosight 2012-12-17
  • 打赏
  • 举报
回复
那么多循环估计差点的机器会死掉
风之子1 2012-12-17
  • 打赏
  • 举报
回复
引用 29 楼 sbwwkmyd 的回复:
曾经看到过一个筛质数的程序,一堆的goto。 这时候我最大的问题,不再是算法,不再是程序。 这些都太小儿科了,其实最大的问题是:作者现在是否还看的自己的程序?
+1
加载更多回复(16)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧