2 回答

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
給你講4個(gè)循環(huán)
當(dāng)你想重復(fù)執(zhí)行某些語(yǔ)句或語(yǔ)段時(shí),依據(jù)當(dāng)前不同的任務(wù),C#提供4個(gè)不同的循環(huán)語(yǔ)句選擇給你使用:
。for 語(yǔ)句
。foreach 語(yǔ)句
。while 語(yǔ)句
。do 語(yǔ)句
1.for
當(dāng)你預(yù)先知道一個(gè)內(nèi)含語(yǔ)句應(yīng)要執(zhí)行多少次時(shí),for 語(yǔ)句特別有用。當(dāng)條件為真時(shí),常規(guī)語(yǔ)法允許重復(fù)地執(zhí)行內(nèi)含語(yǔ)句(和循環(huán)表達(dá)式):
for (初始化;條件;循環(huán)) 內(nèi)含語(yǔ)句
請(qǐng)注意,初始化、條件和循環(huán)都是可選的。如果忽略了條件,你就可以產(chǎn)生一個(gè)死循環(huán),要用到跳轉(zhuǎn)語(yǔ)句(break 或goto)才能退出。
for (;;)
{
break; // 由于某些原因
}
另外一個(gè)重點(diǎn)是,你可以同時(shí)加入多條由逗號(hào)隔開(kāi)的語(yǔ)句到for循環(huán)的所有三個(gè)參數(shù)。例如,你可以初始化兩個(gè)變量、擁有三個(gè)條件語(yǔ)句,并重復(fù)4個(gè)變量。
2.foreach
已經(jīng)在Visual Basic 語(yǔ)言中存在了很久的一個(gè)功能是,通過(guò)使用For Each 語(yǔ)句收集枚舉。C#通過(guò)foreach 語(yǔ)句,也有一個(gè)用來(lái)收集枚舉的命令:
foreach(表達(dá)式中的類型標(biāo)識(shí)符) 內(nèi)含語(yǔ)句
循環(huán)變量由類型和標(biāo)識(shí)符聲明,且表達(dá)式與收集相對(duì)應(yīng)。循環(huán)變量代表循環(huán)正在為之運(yùn)行的收集元素。
3.while
當(dāng)你想執(zhí)行一個(gè)內(nèi)含語(yǔ)句0次或更多次時(shí),while語(yǔ)句正是你所盼望的:
while (條件) 內(nèi)含語(yǔ)句
條件語(yǔ)句——它也是一個(gè)布爾表達(dá)式 ——控制內(nèi)含語(yǔ)句被執(zhí)行的次數(shù)。你可以使用 break 和continue語(yǔ)句來(lái)控制while語(yǔ)句中的執(zhí)行語(yǔ)句,它的運(yùn)行方式同在for語(yǔ)句中的完全相同。
4,do
C#最后可利用的循環(huán)語(yǔ)句是do語(yǔ)句。它與while語(yǔ)句十分相似,僅當(dāng)經(jīng)過(guò)最初的循環(huán)之后,條件才被驗(yàn)證。
do
{
內(nèi)含語(yǔ)句
}
while (條件);
do語(yǔ)句保證內(nèi)含語(yǔ)句至少被執(zhí)行過(guò)一次,而且只要條件求值等于真,它們繼續(xù)被執(zhí)行。通過(guò)使用break語(yǔ)句,你可以迫使運(yùn)行退出 do 語(yǔ)塊。如果你想跳過(guò)這一次循環(huán),使用continue語(yǔ)句。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
區(qū)別:
for
你先要給初值,末值和步長(zhǎng)
foreach
不需要事先給定初值,末值和步長(zhǎng),他是自動(dòng)遍歷給定的集合體的所有值
string[]
a=new
string[]{"a","b"}
for(i=0;i<a.length;i++)
{
Response.write(a[i].ToString())
}
foreach(string
b
in
a)
{
Response.write
b
}
- 2 回答
- 0 關(guān)注
- 398 瀏覽
添加回答
舉報(bào)