Table of Contents

    Understanding the do-while Loop in C#: Syntax and Usage Explained

    Understanding the do-while Loop in C#: Syntax and Usage Explained

    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.