Avatar ·

C#: break vs continue — 在循环中有什么区别?

大家好。我刚开始学习C#,对循环(for、while、foreach)中的break和continue语句感到困惑。我知道它们都会影响循环的执行,但无法理解具体的区别。 例如,我有这样的代码: ```csharp for (int i = 0; i < 10; i++) { if (i == 5) { break; } Console.WriteLine(i); } ``` 我期望它输出0到9的数字,但它只输出了0、1、2、3、4。为什么?我以为break只是当i == 5时跳过当前迭代。 还有另一个关于continue的例子: ```csharp for (int i = 0; i < 10; i++) { if (i == 5) { continue; } Console.WriteLine(i); } ``` 这段代码输出了0到9的所有数字,除了5。也就是说continue确实跳过了迭代?但为什么break的行为不同? 请用简单的话解释:break和continue的根本区别是什么?什么时候使用哪个语句?有没有什么陷阱?