Home C# A while loop in C# tutorial

A while loop in C# tutorial

The while loop in C# is a control structure that allows code to repeat as long as a specified condition remains true. It is ideal when you don't know the exact number of iterations beforehand, but you have a condition that controls the loop.

In this tutorial, we’ll cover:

1. Basic Structure of a while Loop

The while loop checks a condition before each iteration. If the condition is true, it runs the loop body; otherwise, it exits the loop.

Syntax:

while (condition)
{
    // Code to execute as long as the condition is true
}

Example:

using System;

public class WhileLoopExample
{
    public static void Main()
    {
        int counter = 1;

        while (counter <= 5)
        {
            Console.WriteLine("Iteration: " + counter);
            counter++;
        }
    }
}

In this example:

  • The counter variable is initialized to 1.
  • The loop checks if counter is less than or equal to 5. If true, it prints the iteration and increments counter.
  • The loop stops once counter becomes 6.

Output:

Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4
Iteration: 5

2. while Loop with User Input

The while loop is commonly used to process user input until a certain condition is met.

Example:

using System;

public class WhileUserInputExample
{
    public static void Main()
    {
        string input = "";

        while (input != "exit")
        {
            Console.Write("Enter a command (type 'exit' to quit): ");
            input = Console.ReadLine();
            Console.WriteLine("You entered: " + input);
        }
    }
}

In this example:

  • The loop will continue prompting the user to enter a command.
  • When the user types “exit,” the condition input != "exit" becomes false, and the loop stops.

3. The do-while Loop

The do-while loop is similar to the while loop, but it guarantees that the loop body will execute at least once because the condition is checked after each iteration.

Syntax:

do
{
    // Code to execute at least once
} while (condition);

Example:

using System;

public class DoWhileExample
{
    public static void Main()
    {
        int number;

        do
        {
            Console.Write("Enter a positive number (0 to exit): ");
            number = int.Parse(Console.ReadLine());
            Console.WriteLine("You entered: " + number);
        } while (number != 0);
    }
}

In this example:

  • The do block executes once, regardless of the number‘s initial value.
  • The loop continues as long as the entered number is not zero.

4. while Loop with break and continue

  • break: Exits the loop entirely.
  • continue: Skips the current iteration and moves to the next one.

Example using break:

using System;

public class BreakExample
{
    public static void Main()
    {
        int count = 1;

        while (count <= 10)
        {
            if (count == 5)
            {
                break; // Exit loop when count equals 5
            }
            Console.WriteLine("Count: " + count);
            count++;
        }
    }
}

Output:

Count: 1
Count: 2
Count: 3
Count: 4

Here, the break statement exits the loop when count reaches 5.

Example using continue:

using System;

public class ContinueExample
{
    public static void Main()
    {
        int count = 0;

        while (count < 10)
        {
            count++;
            
            if (count % 2 != 0)
            {
                continue; // Skip odd numbers
            }
            Console.WriteLine("Even count: " + count);
        }
    }
}

Output:

Even count: 2
Even count: 4
Even count: 6
Even count: 8
Even count: 10

In this example:

  • continue skips the current iteration when count is odd, so only even numbers are printed.

5. Infinite while Loop (and How to Avoid Them)

An infinite loop happens when the condition in the while statement never becomes false. While sometimes useful, infinite loops can cause a program to become unresponsive if not handled properly.

Example of Infinite Loop:

using System;

public class InfiniteLoopExample
{
    public static void Main()
    {
        int counter = 1;

        while (true) // Infinite loop
        {
            Console.WriteLine("Iteration: " + counter);
            counter++;

            if (counter > 5)
            {
                break; // Exits the loop to prevent infinite iteration
            }
        }
    }
}

In this example:

  • The while (true) creates an infinite loop.
  • The break statement stops the loop once counter exceeds 5, preventing it from running forever.

Common Mistake Causing Infinite Loops:

Forgetting to update the loop variable or incorrectly setting the loop condition can lead to infinite loops.

using System;

public class InfiniteLoopMistake
{
    public static void Main()
    {
        int counter = 1;

        // This will be an infinite loop if 'counter++' is commented out.
        while (counter <= 5)
        {
            Console.WriteLine("Iteration: " + counter);
            // counter++; Uncommenting this will make the loop finite
        }
    }
}

In this example:

  • If counter++ is commented out, counter will always be 1, causing an infinite loop.

Summary

The while loop and do-while loop are useful in cases where the number of iterations isn’t fixed but instead depends on a condition. Here’s a quick summary:

  • Basic while loop: Repeats as long as the condition is true.
  • Using while with user input: Repeats until a specific user input is provided.
  • do-while loop: Executes the loop body at least once, regardless of the condition.
  • break and continue: Manage the flow of the loop, with break exiting and continue skipping the current iteration.
  • Infinite loop: Created with while (true) or by mistake, usually needs break to stop it safely.

You may also like