C# continue 语句

在 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 statement skips the current iteration of both for loop and while loop
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;
}

因此,此迭代的打印语句被跳过。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战