一尘不染

C#循环-中断与继续

c#

在C#(随意回答其他语言)循环中,break和continue作为离开循环结构并进行下一次迭代的一种方式,有什么区别?

例:

foreach (DataRow row in myTable.Rows)
{
    if (someConditionEvalsToTrue)
    {
        break; //what's the difference between this and continue ?
        //continue;
    }
}

阅读 385

收藏
2020-05-19

共1个答案

一尘不染

break将完全退出循环,continue跳过 当前迭代。

例如:

for (int i = 0; i < 10; i++) {
    if (i == 0) {
        break;
    }

    DoSomeThingWith(i);
}

该中断将导致循环在第一次迭代时退出- DoSomeThingWith永远不会执行。这里:

for (int i = 0; i < 10; i++) {
    if(i == 0) {
        continue;
    }

    DoSomeThingWith(i);
}

不会执行DoSomeThingWithi = 0,但循环将 继续 ,并DoSomeThingWith为将被执行i = 1i = 9

2020-05-19