C# for/foreach 循環(huán)

C# 循環(huán)C# 循環(huán)

一個(gè) for 循環(huán)是一個(gè)允許您編寫(xiě)一個(gè)執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。


語(yǔ)法

C# 中 for 循環(huán)的語(yǔ)法:

for ( init; condition; increment )
{
   statement(s);
}

下面是 for 循環(huán)的控制流:

  1. init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫(xiě)任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。

  2. 接下來(lái),會(huì)判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語(yǔ)句。

  3. 在執(zhí)行完 for 循環(huán)主體后,控制流會(huì)跳回上面的 increment 語(yǔ)句。該語(yǔ)句允許您更新循環(huán)控制變量。該語(yǔ)句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。

  4. 條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個(gè)過(guò)程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),for 循環(huán)終止。

流程圖

C# 中的 for 循環(huán)


實(shí)例

using System;

namespace Loops
{
    class Program
    {
        static void Main(string[] args)
        {
            /* for 循環(huán)執(zhí)行 */
            for (int a = 10; a < 20; a = a + 1)
            {
                Console.WriteLine("a 的值: {0}", a);
            }
            Console.ReadLine();
        }
    }
} 

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

foreach

C# 也支持 foreach 循環(huán),使用foreach可以迭代數(shù)組或者一個(gè)集合對(duì)象。

以下實(shí)例有三個(gè)部分:

  • 通過(guò) foreach 循環(huán)輸出整型數(shù)組中的元素。
  • 通過(guò) for 循環(huán)輸出整型數(shù)組中的元素。
  • foreach 循環(huán)設(shè)置數(shù)組元素的計(jì)算器。
class ForEachTest
{
    static void Main(string[] args)
    {
        int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }
        System.Console.WriteLine();


        // 類似 foreach 循環(huán)
        for (int i = 0; i < fibarray.Length; i++)
        {
            System.Console.WriteLine(fibarray[i]);
        }
        System.Console.WriteLine();


        // 設(shè)置集合中元素的計(jì)算器
        int count = 0;
        foreach (int element in fibarray)
        {
            count += 1;
            System.Console.WriteLine("Element #{0}: {1}", count, element);
        }
        System.Console.WriteLine("Number of elements in the array: {0}", count);
    }
}

輸出結(jié)果為:

0
1
1
2
3
5
8
13

0
1
1
2
3
5
8
13

Element #1: 0
Element #2: 1
Element #3: 1
Element #4: 2
Element #5: 3
Element #6: 5
Element #7: 8
Element #8: 13
Number of elements in the array: 8


C# 循環(huán)C# 循環(huán)