C# for/foreach 循環(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)的控制流:
-
init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫(xiě)任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。
-
接下來(lái),會(huì)判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語(yǔ)句。
-
在執(zhí)行完 for 循環(huán)主體后,控制流會(huì)跳回上面的 increment 語(yǔ)句。該語(yǔ)句允許您更新循環(huán)控制變量。該語(yǔ)句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。
-
條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個(gè)過(guò)程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),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
更多建議: