【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
在C#(随意回答其他语言)循环中,break和continue之间的区别是什么,作为离开循环结构的手段,并进入下一次迭代?
例:
foreach (DataRow row in myTable.Rows)
{
if (someConditionEvalsToTrue)
{
break; //what's the difference between this and continue ?
//continue;
}
}
#1楼
为了完全脱离foreach循环,使用break ;
要进入循环中的下一个迭代, 继续使用;
如果你通过对象的集合循环(如数据表中的行),你正在寻找一个特定的比赛休息是非常有用的,当你发现那场比赛,就没有必要继续通过其余的行,所以要打破出。
当您在循环迭代中完成所需的操作时, 继续非常有用。 你通常会在if之后继续 。
#2楼
打破
断开强制循环立即退出。
继续
这与休息相反。 它不是终止循环,而是立即再次循环,跳过剩下的代码。
#3楼
break导致程序计数器跳出最内层循环的范围
for(i = 0; i < 10; i++)
{
if(i == 2)
break;
}
像这样工作
for(i = 0; i < 10; i++)
{
if(i == 2)
goto BREAK;
}
BREAK:;
继续跳转到循环结束。 在for循环中,继续跳转到增量表达式。
for(i = 0; i < 10; i++)
{
if(i == 2)
continue;
printf("%d", i);
}
像这样工作
for(i = 0; i < 10; i++)
{
if(i == 2)
goto CONTINUE;
printf("%d", i);
CONTINUE:;
}
#4楼
以身作则
foreach(var i in Enumerable.Range(1,3))
{
Console.WriteLine(i);
}
打印1,2,3(在单独的行上)。
在i = 2处添加中断条件
foreach(var i in Enumerable.Range(1,3))
{
if (i == 2)
break;
Console.WriteLine(i);
}
现在循环打印1并停止。
用继续替换休息。
foreach(var i in Enumerable.Range(1,3))
{
if (i == 2)
continue;
Console.WriteLine(i);
}
现在循环打印1和3(跳过2)。
因此, break
停止循环,而continue
跳到下一次迭代。
#5楼
简单回答:
Break会立即退出循环。
继续开始处理下一个项目。 (如果有,通过跳转到for / while的评估行)
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3145472