Facebook Page Twitter Page LinkedIn Page
× C# Tutorial C# Advanced C# Resources


The continue statement in C# let the program skip a block of codes for current iteration in a loop. Whenever continue statement condition is fulfilled, it brings the program to the start of loop.

When the continue statement is used in a nested loop (loop inside loop), it will skip innermost loop's code block, whenever condition is fulfilled.

Continue statement with While loop

In the below example, continue statement is used to skip the while loop if the value of variable j becomes 4.

using System;
 
class MyProgram {
  static void Main(string[] args) {
    int j = 0;
    while (j < 6){
      j++;
      if(j == 4){
       Console.WriteLine("this iteration is skipped."); 
       continue;
      }
      Console.WriteLine(j); 
    }
  }
}

The output of the above code will be:

1
2
3
this iteration is skipped.
5
6

Continue statement with For loop:

In the below example, continue statement is used to skip the for loop if the value of variable i becomes 4.

using System;

class MyProgram {
  static void Main(string[] args) {
    for (int i = 1; i <= 6; i++){
      if(i == 4 ){
       Console.WriteLine("this iteration is skipped."); 
       continue;
      }
      Console.WriteLine(i); 
    }      
  }
}

The output of the above code will be:

1
2
3
this iteration is skipped.
5
6

Continue statement with Nested loop:

The Continue statement skip the inner loop's block of codes whenever condition is fulfilled. In below mentioned example, program skips the inner loop only when j = 100.

//Nested loop without continue statement
using System;

class MyProgram {
  static void Main(string[] args) {
    for (int i = 1; i <= 3; i++){
      for (int j = 10; j <= 1000; j = j * 10){
        Console.WriteLine(i*j); 
      }
    }      
  }
}

//Nested loop with continue statement
using System;
 
class MyProgram {
  static void Main(string[] args) {
    for (int i = 1; i <= 3; i++){
      for (int j = 10; j <= 1000; j = j * 10){
        if(j == 100 ){
          continue;
        }
        Console.WriteLine(i*j); 
      }
    }      
  }
}

The output of the above code will be:

# output of nested loop without continue statement
10
100
1000
20
200
2000
30
300
3000

# output of nested loop with continue statement
10
1000
20
2000
30
3000