Home ยป C# while Loop : A Tutorial

C# while Loop : A Tutorial

by wskandot71

The while loop in C# is a control flow statement that allows code to be executed repeatedly as long as a specified condition remains true.

It is useful when the number of iterations is not known in advance.

This tutorial covers:

  • Syntax of the while Loop
  • How the while Loop Works
  • Example Usage of while Loop
  • Using break and continue in a while Loop
  • Handling Infinite Loops
  • The while Loop with User Input
  • Using a while Loop with Arrays and Lists
  • Best Practices for Using while Loops

1. Syntax of the while Loop

The while loop repeatedly executes a block of code as long as the condition evaluates to true.

Syntax

while (condition)
{
    // Code to be executed
}
  • The condition is checked before each iteration.
  • If the condition is false initially, the loop does not run.

2. How the while Loop Works

  1. The condition is evaluated.
  2. If true, the loop body executes.
  3. The condition is checked again after execution.
  4. The process repeats until the condition becomes false.

Example: Basic while Loop

int count = 1;

while (count <= 5)
{
    Console.WriteLine("Iteration " + count);
    count++; // Increment count
}

Output:

Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
  • count starts at 1 and increments by 1 each time.
  • The loop stops when count > 5.

3. Example Usage of while Loop

Using a while Loop for a Countdown

int number = 5;

while (number > 0)
{
    Console.WriteLine("Countdown: " + number);
    number--; // Decrease number by 1
}
Console.WriteLine("Liftoff!");

Output:

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1
Liftoff!
  • The loop decrements number until it reaches 0.

4. Using break and continue in a while Loop

Using break to Exit the Loop

The break statement immediately exits the loop, regardless of the condition.

int num = 1;

while (num <= 10)
{
    if (num == 5)
    {
        Console.WriteLine("Stopping loop at " + num);
        break; // Exit the loop
    }
    Console.WriteLine(num);
    num++;
}

Output:

1
2
3
4
Stopping loop at 5
  • The loop stops when num == 5.

Using continue to Skip an Iteration

The continue statement skips the current iteration and moves to the next.

int num = 0;

while (num < 5)
{
    num++;

    if (num == 3)
    {
        Console.WriteLine("Skipping " + num);
        continue; // Skips iteration when num == 3
    }

    Console.WriteLine(num);
}

Output:

1
2
Skipping 3
4
5
  • The loop skips num = 3 but continues running.

5. Handling Infinite Loops

A while loop can become infinite if the condition never becomes false.

Example of an Infinite Loop

int i = 1;

while (i > 0) // Always true
{
    Console.WriteLine("This is an infinite loop");
}
  • This loop never stops.

Fixing an Infinite Loop

Always ensure the loop updates the condition.

int i = 1;

while (i <= 5)
{
    Console.WriteLine("Iteration " + i);
    i++; // Ensure condition will become false
}

6. The while Loop with User Input

A while loop is often used to repeatedly ask for user input.

Example: Asking for a Valid Number

int number;

Console.Write("Enter a number greater than 0: ");
while (!int.TryParse(Console.ReadLine(), out number) || number <= 0)
{
    Console.Write("Invalid input. Enter a number greater than 0: ");
}

Console.WriteLine("You entered: " + number);
  • TryParse() ensures only valid numbers are accepted.
  • The loop repeats until valid input is given.

7. Using a while Loop with Arrays and Lists

Iterating Through an Array Using while

int[] numbers = { 10, 20, 30, 40, 50 };
int index = 0;

while (index < numbers.Length)
{
    Console.WriteLine(numbers[index]);
    index++; // Move to the next index
}

Output:

10
20
30
40
50
  • The loop runs until the end of the array.

Iterating Through a List Using while

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        int index = 0;

        while (index < names.Count)
        {
            Console.WriteLine(names[index]);
            index++;
        }
    }
}

Output:

Alice
Bob
Charlie
  • names.Count provides the list size.

8. Best Practices for Using while Loops

Use a while Loop When the Number of Iterations is Unknown

while (userInput != "exit")
  • Use while when the number of iterations is dynamic.

Ensure the Condition Will Eventually Become False

while (count > 0)
{
    count--; // Prevents infinite loop
}
  • Always modify the loop variable.

Use break to Exit the Loop If Needed

while (true)
{
    string input = Console.ReadLine();
    if (input == "exit")
    {
        break; // Exit the loop when "exit" is entered
    }
}
  • break is useful for user-controlled exits.

Use continue to Skip Unwanted Iterations

while (index < 10)
{
    index++;
    if (index % 2 == 0) continue; // Skip even numbers
    Console.WriteLine(index);
}
  • continue helps skip unnecessary operations.

Use TryParse() for Safe User Input

while (!int.TryParse(Console.ReadLine(), out int value))
{
    Console.WriteLine("Invalid input. Try again.");
}
  • This prevents crashes from invalid input.

Conclusion

  • The while loop executes code repeatedly while a condition is true.
  • Use while when the number of iterations is unknown.
  • Use break to exit early and continue to skip an iteration.
  • Ensure the loop condition eventually becomes false to avoid infinite loops.
  • Use while loops for handling user input and processing lists/arrays.

You may also like

Adblock Detected

Please support us by disabling your AdBlocker extension from your browsers for our website.