我希望它運行三次,但它實際上從來沒有運行循環,並出去。 在VB 6.0中,我可以用類似的結構來做到這一點,但是如何用C#for循環實現同樣的功能呢?我想以倒計時但並非總是如此,有時我傳遞「1」,有時「-1」的步驟,當通過「-1」,這是行不通的在C中ForLoop的一個簡單問題#
for (int L = 3; L <= 1; L += -1)
{
MessageBox.Show("dfsdff");
}
我希望它運行三次,但它實際上從來沒有運行循環,並出去。 在VB 6.0中,我可以用類似的結構來做到這一點,但是如何用C#for循環實現同樣的功能呢?我想以倒計時但並非總是如此,有時我傳遞「1」,有時「-1」的步驟,當通過「-1」,這是行不通的在C中ForLoop的一個簡單問題#
for (int L = 3; L <= 1; L += -1)
{
MessageBox.Show("dfsdff");
}
是因爲你有第二個條款(「繼續下去,而這是真的」條款)周圍的錯誤的方式,試試這個:
for (int L = 3; L >= 1; L--)
{
MessageBox.Show("dfsdff");
}
現在它說:「開始於3」,「減量」 ( - ),而L是大於或等於1
它看起來像你的終端條件L <= 1
是什麼讓你失望。
你可能是想扭轉這種情況,並說L >= 1
。否則,當L初始化爲3,然後評估終端時,它會立即返回錯誤,說明L大於1,因此終止您的循環。
for循環可以寫出如下:
for(variable L = 3; as long as L satisfies condition L <= 1; increment L by -1)
信用證將永遠是大於1,所以循環永遠不會被執行。正確的做法是,要麼:
for(int L = 0; L <= 2; L++)
或
for(int L = 2; L >= 0; L--)
如果你想開始1
,只需相應修改。
試試這個:
for (int L = 3; L >= 1; L--)
{
MessageBox.Show("dfsdff");
}
這應該倒計時你,我已經糾正它。他們是正確的,這是一個無限循環。這是另一種做法,可能會讓大腦更有意義。
int L = 3
while(L > 0)
{
MessageBox.Show("Your clever message);
L--;
}
但它不會終止! – codekaizen 2010-10-28 01:13:12
這將倒計時好吧。倒計時很長時間。 – 2010-10-28 01:13:55
這將顯示無限的消息框。 – Femaref 2010-10-28 01:14:14