do while Loop in C# Programming Language

Rumman Ansari   Software Engineer   2019-03-17   5723 Share
☰ Table of Contents

Table of Content:


Unlike for and while loops, which test the loop condition at the start of the loop, the do...while loop checks its condition at the end of the loop.

do...while loop is similar to a while loop, except that a do...while loop is guaranteed to execute at least one time.

Syntax

The syntax of a do...while loop in C# is ?

do {
   statement(s);
} while( condition );

Notice that the conditional expression appears at the end of the loop, so the statement(s) in the loop execute once before the condition is tested.

If the condition is true, the flow of control jumps back up to do, and the statement(s) in the loop execute again. This process repeats until the given condition becomes false.

Flow Diagram

do...while  loop in C#

Example

 


using System;

namespace Loops {
   class Program {
      static void Main(string[] args) {
         /* local variable definition */
         int a = 10;
         
         /* do loop execution */
         do {
            Console.WriteLine("value of a: {0}", a);
            a = a + 1;
         } 
         while (a < 20);
         Console.ReadLine();
      }
   }
} 

When the above code is compiled and executed, it produces the following result ?

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

break inside do-while

Just as in the case of the for and while loops, you can break out of the do-while loop using the break keyword.

Syntax


int i = 0;

do
{
    Console.WriteLine("Value of i: {0}", i);
    
    i++;
    
    if (i > 5)
        break;

} while (true);

Output


Value of i: 0 
Value of i: 1 
Value of i: 2 
Value of i: 3 
Value of i: 4 
Value of i: 5

Nested do-while

The do-while loop can be used inside another do-while loop.

Syntax


int i = 0;

do
{
    Console.WriteLine("Value of i: {0}", i);
    int j = i;

    i++;
                
    do
    {
        Console.WriteLine("Value of j: {0}", j);
        j++;

    } while (j < 2);

} while (i < 2);

Output


Value of i: 0 
Value of j: 0
Value of j: 1
Value of i: 1
Value of j: 1

Points to Remember :
  1. The do-while loop executes the block of code repeatedly.
  2. The do-while loop executes the code at least once. It includes the conditional expression after the code block and the increment/decrement step should be inside the loop.
  3. Use the break keyword to stop the execution and exit from a do-while loop.
  4. A nested do-while loop is allowed.