在 C# 中,我们使用 continue 语句来跳过循环的当前迭代。
当程序遇到 continue 语句时,程序控制会移动到循环的末尾并执行测试条件(在 for 循环的情况下是更新语句)。
continue 的语法是
continue;
在学习 continue 之前,请确保您已经学习了
示例 1:C# for 循环中的 continue
using System;
namespace ContinueLoop {
class Program {
static void Main(string[] args){
for (int i = 1; i <= 5; ++i{
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
输出
1 2 4 5
在上面的示例中,我们使用 for 循环打印数字 i = 1 到 5。但是,数字 **3** 没有被打印出来。
这是因为当 i 的值为 **3** 时,执行了 continue
语句。
// skips the condition
if (i == 3) {
continue;
}
这将跳过循环的当前迭代并将程序控制转移到更新语句。因此,数字 **3** 没有被打印出来。
注意:continue 语句通常与 if...else 语句一起使用。
示例:C# while 循环中的 continue
using System;
namespace ContinueWhile {
class Program{
static void Main(string[] args) {
int i = 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
输出
1 2 4 5
在这里,我们在 while
循环中使用了 continue
语句。与之前的程序类似,当 i 的值为 **3** 时,会执行 continue 语句。
因此,屏幕上没有打印 **3**。
C# continue 语句的工作原理

嵌套循环中的 continue
我们也将其与嵌套循环一起使用。例如:
using System;
namespace ContinueNested {
class Program {
static void Main(string[] args) {
int sum = 0;
// outer loop
for(int i = 1; i <= 3; i++) {
// inner loop
for(int j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
Console.WriteLine("i = " + i + " j = " +j);
}
}
}
}
}
输出
i = 1 j = 1 i = 1 j = 3 i = 2 j = 1 i = 2 j = 3 i = 3 j = 1 i = 3 j = 3
在上面的示例中,我们在内部 for
循环中使用了 continue 语句。在这里,当 j == 2
时执行 continue 语句。
因此,j = 2
的值被忽略了。
如果您想了解嵌套循环的工作原理,请访问 C# 嵌套循环。
C# foreach 循环中的 continue
我们也可以将 continue
语句与 foreach 循环一起使用。例如:
using System;
namespace ContinueForeach {
class Program {
static void Main(string[] args) {
int[] num = { 1, 2, 3, 4, 5 };
foreach(int number in num) {
// skips the iteration
if(number==3) {
continue;
}
Console.WriteLine(number);
}
}
}
}
输出
1 2 4 5
在上面的示例中,我们创建了一个包含值的数组:**1**、**2**、**3**、**4**、**5**。在这里,我们使用 foreach 循环打印数组的每个元素。
但是,循环没有打印值 **3**。这是因为当数字等于 **3** 时,会执行 continue
语句。
if (number == 3) {
continue;
}
因此,此迭代的打印语句被跳过。