如果我有一个嵌套在另一个中的for循环,我怎么能以最快的方式有效地从两个循环(内部和外部)中出来?
我不想使用布尔值,然后不得不说去另一个方法,而只是在外部循环后执行第一行代码.
这是一个快速而好的方式吗?
谢谢
我认为异常并不便宜/应该只是在一个真正特殊的条件下抛出等等.因此我认为从性能角度来看这个解决方案并不好.
我觉得利用.NET(anon方法)中的新功能做一些非常基本的事情是不对的.
因此,tvon(抱歉不能拼写完整的用户名!)有一个很好的解决方案.
Marc:很好地使用了anon方法,这也很棒但是因为我可以在一个不使用支持anon方法的.NET/C#版本的工作中,我也需要知道一种传统的方法.
假设我需要在最内层循环内的某个事件发生时立即中断三个或四个嵌套for循环.这样做的方法是什么?
我做的是使用这样的标志:
int i, j, k;
int flag1 = 0;
int flag2 = 0;
for (i = 0; i < 100; i++) {
for (j = 0; j < 100; j++) {
for (k = 0; k < 100; k++) {
if (k == 50) {
flag1 = 1;
flag2 = 1;
break;
}
}
if (flag1 == 1)break;
}
if (flag2 == 1)break;
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是特别整洁.
你会如何完成同样的事情?(没有使用跳跃)