位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C# > 問(wèn)題詳情

C# 流程控制 無(wú)限循環(huán)

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-12

在代碼編寫錯(cuò)誤或故意進(jìn)行設(shè)計(jì)時(shí),可以定義永不終止的循環(huán),即所謂的無(wú)限循環(huán)(infinite loop)。例如, 下面的代碼就是無(wú)限循環(huán)的一個(gè)簡(jiǎn)單例子:

while (true)

{

    // code in loop

}

有時(shí)這種代碼也是有用的,而且使用break語(yǔ)句或者手工使用Windows任務(wù)管理器總是可以退出這樣的循 環(huán)。但當(dāng)意外出現(xiàn)這種情形時(shí),就會(huì)出問(wèn)題。考慮下面的循環(huán),它與上一節(jié)中的for循環(huán)非常類似:

int i = 1; 

while  (i <= 10)

{

     if  ( (i % 2) == 0) 

        continue;

     WriteLine($"{i++)");

}

在此,i是在循環(huán)的最后一行代碼(即continue語(yǔ)句后的那條語(yǔ)句)執(zhí)行完后才遞増的。如果程序執(zhí)行到 continue語(yǔ)句(此時(shí)i為2),程序會(huì)用相同的i值進(jìn)行下一個(gè)循環(huán),然后測(cè)試這個(gè)i值,繼續(xù)循環(huán),一直這樣下去。 這就凍結(jié)了應(yīng)用程序。注意,仍可釆用一般方式退出己凍結(jié)的應(yīng)用程序,所以不必重新啟動(dòng)計(jì)算機(jī)。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部