在C#循环中,中断和继续作为离开循环结构并进入下一次迭代的方法有什么区别?

例子:

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

当前回答

break将完全停止foreach循环,continue将跳到下一个DataRow。

其他回答

何时使用中断与继续?

分手-我们将永远离开循环,永远分手。再见。

继续-意味着你今天要休息一下,明天再把它整理好(即跳过当前迭代)!

(Corny故事)\(ツ)/“”和图片,但希望能帮助你记住。

抓握提醒:不知道为什么要使用这些词。如果您想跳过迭代,为什么不使用skip而不是continue?如果给出了正确的名称,整个堆栈溢出问题和1000名开发人员不会感到困惑。)

break导致程序计数器跳出最内层循环的范围

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

像这样工作

for(i = 0; i < 10; i++)
{
    if(i == 2)
        goto BREAK;
}
BREAK:;

continue跳转到循环的末尾。在for循环中,continue跳转到增量表达式。

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:;
}

要理解这一点,一个非常简单的方法是在每个关键字后面加上单词“loop”。如果这些术语只是像日常用语一样阅读,那么它们现在就有意义了。

中断循环-循环中断并停止。

continue循环-循环继续执行下一次迭代。

要完全脱离foreach循环,使用break;

要转到循环中的下一个迭代,请使用continue;

如果您在对象集合(如数据表中的行)中循环,并且正在搜索特定的匹配项,则中断非常有用,当您找到匹配项时,无需继续遍历剩余的行,因此您需要中断。

当您完成了循环迭代中所需的任务时,Continue非常有用。通常情况下,你会在一个if之后继续。

至于其他语言:

    'VB
    For i=0 To 10
       If i=5 then Exit For '= break in C#;
       'Do Something for i<5
    next
     
    For i=0 To 10
       If i=5 then Continue For '= continue in C#
       'Do Something for i<>5...
    Next