Core C#

Do While Versus While

The main difference between a while and a do while loop is that the while loop checks its conditional before it ever executes. The do while loop always executes at least once. Below, we have a program that demonstrate how do while and while loops differ. We also have each loop equivalent coded in goto statements.

Program.cs

using System;

namespace XoaX {
    class Program {
        static void Main(string[] args) {
            // A simple do while loop
            Console.WriteLine("Do While Loop");
            int iTemp = -10;
            do {
                Console.WriteLine("Temperature: " + iTemp);
                iTemp *= -1;
            } while (iTemp > 0);
            Console.WriteLine();

            // The Do-While Equivalent
            Console.WriteLine("Do while equivalent with goto statements");
            iTemp = -10;
            {
                StartDoWhileLoop:
                Console.WriteLine("Temperature: " + iTemp);
                iTemp *= -1;
                if (iTemp <= 0) {
                    goto ExitDoWhileLoop;
                }
                goto StartDoWhileLoop;
            }
            ExitDoWhileLoop: ;
            Console.WriteLine();

            // The loop above as a while loop, which does not execute.
            Console.WriteLine("While Loop");
            iTemp = -10;
            while (iTemp > 0) {
                Console.WriteLine("Temperature: " + iTemp);
                iTemp *= -1;
            }
            Console.WriteLine();

            // The While Equivalent
            Console.WriteLine("While equivalent with goto statements");
            iTemp = -10;
            {
                StartWhileLoop:
                // This is moved to the front of the loop.
                if (iTemp <= 0) {
                    goto ExitWhileLoop;
                }
                Console.WriteLine("Temperature: " + iTemp);
                iTemp *= -1;
                goto StartWhileLoop;
            }
            ExitWhileLoop: ;
            Console.WriteLine();
        }
    }
}
 

Output

Do While Loop
Temperature: -10
Temperature: 10

Do while equivalent with goto statements
Temperature: -10
Temperature: 10

While Loop

While equivalent with goto statements

Press any key to continue . . .
 
 

© 2007–2025 XoaX.net LLC. All rights reserved.