在C#(随意回答其他语言)循环中,break和continue作为离开循环结构并进行下一次迭代的一种方式,有什么区别?
例:
foreach (DataRow row in myTable.Rows) { if (someConditionEvalsToTrue) { break; //what's the difference between this and continue ? //continue; } }
break将完全退出循环,continue仅 跳过 当前迭代。
break
continue
例如:
for (int i = 0; i < 10; i++) { if (i == 0) { break; } DoSomeThingWith(i); }
该中断将导致循环在第一次迭代时退出- DoSomeThingWith永远不会执行。这里:
DoSomeThingWith
for (int i = 0; i < 10; i++) { if(i == 0) { continue; } DoSomeThingWith(i); }
不会执行DoSomeThingWith的i = 0,但循环将 继续 ,并DoSomeThingWith为将被执行i = 1到i = 9。
i = 0
i = 1
i = 9