Share via


while (C# Reference) 

The while statement executes a statement or a block of statements until a specified expression evaluates to false.

Example

// statements_while.cs
using System;
class WhileTest 
{
    static void Main() 
    {
        int n = 1;
        while (n < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
            n++;
        }
    }
}

Output

Current value of n is 1
Current value of n is 2
Current value of n is 3
Current value of n is 4
Current value of n is 5
// statements_while_2.cs
using System;
class WhileTest 
{
    static void Main() 
    {
        int n = 1;
        while (n++ < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
        }
    }
}

Output

Current value of n is 2
Current value of n is 3
Current value of n is 4
Current value of n is 5
Current value of n is 6

Because the test of the while expression takes place before each execution of the loop, a while loop executes zero or more times. This differs from the do loop, which executes one or more times.

A while loop can be terminated when a break, goto, return, or throwstatement transfers control outside the loop. To pass control to the next iteration without exiting the loop, use the continuestatement. Notice the difference in output in the three previous examples, depending on where int n is incremented. In the example below no output is generated.

// statements_while_3.cs
// no output is generated
using System;
class WhileTest 
{
    static void Main() 
    {
        int n = 5;
        while (++n < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
        }
    }
}

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • 5.3.3.7 While statements

  • 8.8.1 The while statement

See Also

Reference

C# Keywords
The while Statement
Iteration Statements (C# Reference)

Concepts

C# Programming Guide

Other Resources

C# Reference