C#循环

那年仲夏 提交于 2019-12-20 19:48:34

【推荐】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的评估行)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!