我希望它运行三次,但它实际上从未运行循环并退出。 在VB 6.0中,我可以用类似的结构来做到这一点但是如何用C#for循环实现相同的功能呢?我想要倒计时,但事实并非如此,有时我传递“1”,有时“-1”为步骤,当以“-1”传递时它不起作用
for (int L = 3; L <= 1; L += -1)
{
MessageBox.Show("dfsdff");
}
答案 0 :(得分:7)
是的,因为你有第二个条款(“继续这是真的”条款)错误的方法,试试这个:
for (int L = 3; L >= 1; L--)
{
MessageBox.Show("dfsdff");
}
现在它说“从3开始”,“递减”( - ),而L大于或等于1.
答案 1 :(得分:6)
看起来L <= 1
的终极条件就是让你失望的原因。
你可能想要扭转它并说出L >= 1
。否则,当L初始化为3,然后终端被评估时,它将立即返回false,表示L大于1,因此终止循环。
答案 2 :(得分:3)
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开始,只需相应修改。
答案 3 :(得分:-1)
试试这个:
for (int L = 3; L >= 1; L--)
{
MessageBox.Show("dfsdff");
}
那应该倒数,我已经纠正了。它们是正确的,它是一个无限循环。这是另一种方法,可能会让大脑更有意义。
int L = 3
while( L > 0)
{
MessageBox.Show("Your clever message);
L--;
}