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的根本区别是什么?什么时候使用哪个语句?有没有什么陷阱?