通过使用循环语句可以创建循环。 循环语句导致嵌入语句根据循环终止条件多次执行。 除非遇到跳转语句,否则这些语句将按顺序执行。 

C#循环语句中使用下列关键字: 

· do...while

· for

· foreach...in

· while

do...while

    do...while语句执行一个语句或语句重复,直到指定的表达式的计算结果为false, 循环的身体必须括在大括号内{},while条件后面使用分号结尾

示例

 下面的示例 实现do-while循环语句的执行 

public class TestDoWhile 

{

    static void Main () 

    {

        int x = 0;

        do 

        {

             Console.WriteLine(x);

             x++;

        } while (x < 10);

    }

}

/*

    Output:

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

*/

    do-while循环在计算条件表达式之前将执行一次,如果 while表达式计算结果为 true,则,执行将继续在第一个语句中循环。 如果表达式计算结果为 false,则会继续从 do-while 循环后的第一个语句执行。 

     do-while 循环还可以通过break、goto、return 或 throw 语句退出。 

for

for 循环重复执行一个语句或语句块,直到指定的表达式计算为 false 值。 for 循环对于循环数组和顺序处理很有用。 

示例

在下面的示例中,int i 的值将写入控制台,并且 i 在每次通过循环时都加 1。 

class ForTest 

{

    static void Main() 

    {

        for (int i = 1; i <= 10; i++)

        {

            Console.WriteLine(i);

        }

    }

}

/*

Output:

1

2

3

4

5

6

7

8

9

10

*/

for 语句重复执行括起来的语句,如下所述: 

· 首先,计算变量 i 的初始值。 

· 然后,只要 i 的值小于或等于 10,条件计算结果就为 true。此时,将执行 Console.WriteLine 语句并重新计算 i。 

· 当 i 大于10 时,条件变成 false 并且控制传递到循环外部。 

    由于条件表达式的测试发生在循环执行之前,因此 for 语句可能执行零次或多次。可以通过使用break、goto 、 throw或return语句退出该循环。 

所有表达式的 for语句是可选的例如对于下面的语句用于写一个无限循环。 

for (; ; )

{

    // ...

}

 

foreach...in

    foreach 语句对实现 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T>接口的数组或对象集合中的每个元素重复一组嵌入式语句。 foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for循环。 

    嵌入语句为数组或集合中的每个元素继续执行。 当为集合中的所有元素完成循环后,控制传递给 foreach 块之后的下一个语句。 

    可以在 foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字进入循环的下一轮循环。

foreach 循环还可以通过 break、goto、return 或 throw 语句退出。

示例

 在此示例中,使用 foreach 显示整数数组的内容。 

     class ForEachTest

    {

        static void Main(string[] args)

        {

            int[] barray = new int[] { 0, 1, 2, 3, 4, 5};

            foreach (int i in barray)

            {

                System.Console.WriteLine(i);

            }

        }

    }

    /*

    Output:

    0

    1

    2

    3

    4

    5

*/

 

while

   while 语句执行一个语句或语句块,直到指定的表达式计算为 false。 

    class WhileTest 

    {

        static void Main() 

        {

            int n = 1;

            while (n < 5) 

            {

                Console.WriteLine(n);

                n++;

            }

        }

    }

    /*

        Output:

        1

        2

        3

        4

        */