C# continue Statement
在C#中,我们使用continue语句来跳过一个循环的当前迭代。当我们的程序遇到continue语句时,程序会移动到循环的末尾并执行测试条件(在for循环的情况是update语句)。
continue的语法是:
continue;
在我们学习continue前,请先确保已学习过:
for循环
while循环
if...else
示例1:for循环中使用continue
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Drawing; 6 using System.Windows.Forms; 7 8 namespace continue_with_for_Demo 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 for (int i = 1; i <= 5; i++) 15 { 16 if (i == 3) 17 { 18 continue; 19 } 20 Console.WriteLine(i); 21 } 22 } 23 } 24 }
在上面的示例中,我们使用for循环来打印1至5的数字;
然而,数字3没有打印;
这是因为当数值是3的时候,continue语句会被执行。
1 // skips the condition 2 if (i == 3) { 3 continue; 4 }
这会略过当前的循环迭代,移动程序的控制权至update语句。因此,数值3没有打印出来。
注:continue语句一般用于if...else语句中;
示例:while循环中使用continue
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Drawing; 6 using System.Windows.Forms; 7 8 namespace continue_with_while_Demo 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 int i = 0; 15 while (i < 5) 16 { 17 i++; 18 if (i == 3) 19 { 20 continue; 21 } 22 Console.WriteLine(i); 23 } 24 } 25 } 26 }
这里,我们在while循环里面使用了continue语句。类似于先前的示例,当数值i是3时,continue语句被执行了。
因此,3没有打印在屏幕上。
嵌套循环中使用continue
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Windows.Forms; namespace Nested_with_continue_Demo { class Program { static void Main(string[] args) { int sum = 0; //外部循环 for (int i = 1; i <= 3; i++) { //内部循环 for (int j = 1; j <= 3; j++) { if (j == 2) { continue; } Console.WriteLine("i = {0},j = {1}",i,j); } } } } }
在上面的示例中,我们在内部循环的for语句中使用了continue;
这时,当j == 2时,continue语句会被执行。
因此,j = 2的值会被忽略。
foreach循环中使用continue
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Drawing; 6 using System.Windows.Forms; 7 8 namespace Foreach_continue_Demo 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 int[] num = { 1,2,3,4,5}; 15 foreach (int number in num) 16 { 17 if (number == 3) 18 { 19 continue; 20 } 21 Console.WriteLine(number); 22 } 23 } 24 } 25 }
在上面的示例中,我们创建了一个数组:1,2,3,4,5.在这里,我们用foreach循环打印数组中的每个元素。
然而,这个循环没有打印数值3.这是因为当数值等于3的时候,会执行continue语句。
if (number == 3) { continue; }
因此,迭代的打印语句会跳过。