C# while循环

在 C# 中,while 循环用于多次迭代一部分程序,特别是在迭代的次数不固定的情况下,建议使用 while 循环而不是 for 循环。while 循环的语法格式如下所示:

while(表达式){
    循环主体;         // 要执行的代码
}

其中,循环主体可以是一个单独的语句,也可以是多条语句组成的代码块,当表达式的为真时,循环会一直执行下去。 while 循环的执行流程如下图所示:

while 循环的执行流程
图:while 循环的执行流程

与后面要介绍的 do while 循环相比 while 循环有一个特点,那就是 while 循环可能一次也不会执行。因为当表达式判断结果为假时会直接跳出循环,执行循环之后的代码。

【示例】使用 while 循环输出 0~9 之间的数字:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            int i = 1;
            while(i <= 9){
                Console.Write("{0} ", i);
                i++;
            }
            Console.ReadLine();
        }
    }
}
运行结果如下:

1 2 3 4 5 6 7 8 9

与 for 循环相同,while 循环也可以嵌套使用,同样以输出九九乘法表为例,让我们来看一下使用 while 循环是如何实现的:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            int i = 1;
            while(i <= 9){
                int j = 1;
                while(j <= i){
                    Console.Write("{0} x {1} = {2}  ", j, i, i*j);
                    j++;
                }
                i++;
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}
运行结果如下:

1 x 1 = 1
1 x 2 = 2  2 x 2 = 4
1 x 3 = 3  2 x 3 = 6  3 x 3 = 9
1 x 4 = 4  2 x 4 = 8  3 x 4 = 12  4 x 4 = 16
1 x 5 = 5  2 x 5 = 10  3 x 5 = 15  4 x 5 = 20  5 x 5 = 25
1 x 6 = 6  2 x 6 = 12  3 x 6 = 18  4 x 6 = 24  5 x 6 = 30  6 x 6 = 36
1 x 7 = 7  2 x 7 = 14  3 x 7 = 21  4 x 7 = 28  5 x 7 = 35  6 x 7 = 42  7 x 7 = 49
1 x 8 = 8  2 x 8 = 16  3 x 8 = 24  4 x 8 = 32  5 x 8 = 40  6 x 8 = 48  7 x 8 = 56  8 x 8 = 64
1 x 9 = 9  2 x 9 = 18  3 x 9 = 27  4 x 9 = 36  5 x 9 = 45  6 x 9 = 54  7 x 9 = 63  8 x 9 = 72  9 x 9 = 81