C# for/foreach 循環(huán)
一個 for 循環(huán)是一個允許您編寫一個執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。
語法
C# 中 for 循環(huán)的語法:
for ( init; condition; increment ) { statement(s); }
下面是 for 循環(huán)的控制流:
init 會首先被執(zhí)行,且只會執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語句,只要有一個分號出現(xiàn)即可。
接下來,會判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句。
在執(zhí)行完 for 循環(huán)主體后,控制流會跳回上面的 increment 語句。該語句允許您更新循環(huán)控制變量。該語句可以留空,只要在條件后有一個分號出現(xiàn)即可。
條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個過程會不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r,for 循環(huán)終止。
流程圖

實例
實例
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í)行時,它會產(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ù)組或者一個集合對象。
C# 的 foreach 循環(huán)可以用來遍歷集合類型,例如數(shù)組、列表、字典等。它是一個簡化版的 for 循環(huán),使得代碼更加簡潔易讀。
以下是 foreach 循環(huán)的語法:
foreach (var item in collection) { // 循環(huán) }
collection 是要遍歷的集合,item 是當(dāng)前遍歷到的元素。
以下實例有三個部分:
- 通過 foreach 循環(huán)輸出整型數(shù)組中的元素。
- 通過 for 循環(huán)輸出整型數(shù)組中的元素。
- foreach 循環(huán)設(shè)置數(shù)組元素的計算器。
實例
{
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è)置集合中元素的計算器
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
以下實例我們使用 foreach 來遍歷一個列表:
實例
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個字符串列表
List<string> myStrings = new List<string>();
// 向列表添加一些字符串元素
myStrings.Add("Google");
myStrings.Add("Runoob");
myStrings.Add("Taobao");
// 使用 foreach 循環(huán)遍歷列表中的元素
foreach (string s in myStrings)
{
Console.WriteLine(s);
}
// 等待用戶按下任意鍵后退出程序
Console.ReadKey();
}
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:
Google Runoob Taobao
更多 foreach 內(nèi)容可以參考:C# 中 foreach 遍歷的用法
- C++ 數(shù)據(jù)類型
- C++ 結(jié)構(gòu) struct
- C++ 類 和 對象
- C++ 多態(tài)
- C++ 編譯器
- C語言 常量
- C語言 循環(huán)語句
- C語言 作用域規(guī)則
- C語言 字符串
- C語言 文件讀寫
- C語言 可變參數(shù)
- C語言 標(biāo)準(zhǔn)庫 <setjmp.h>
- C語言 標(biāo)準(zhǔn)庫 <signal.h>
- C語言 標(biāo)準(zhǔn)庫 <string.h>
- C語言 標(biāo)準(zhǔn)庫 <stdlib.h>
- C# 程序結(jié)構(gòu)
- C# 封裝
- C# 特性 Attribute
- C# 索引器 Indexer
- C++ 賦值運(yùn)算符重載