簡體   English   中英

C#中ForLoop的一個簡單問題

[英]a simple problem with ForLoop in C#

我希望它運行三次,但它實際上從未運行循環並退出。 在VB 6.0中,我可以用類似的結構來做到這一點但是如何用C#for循環實現相同的功能呢? 我想要倒數,但事實並非如此,有時我傳遞的是“1”,有時是“-1”,當傳遞“-1”時,它不起作用

    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,然后終端被評估時,它會立即返回false,表示L大於1,因此終止循環。

for循環可寫為:

for(variable L = 3; as long as L satisfies condition L <= 1; increment L by -1)

你的L總是大於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--;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM