如何在一个console.application中使用for循环进行倒计时,该循环从0到-10以2为步进数计数,因此它计为0,-2,-4,-6,-8-10。 我试过的是:
class Program
{
static void Main(string[] args)
{
for(int i = 0; i == -10;i = i-2)
{
Console.Write("{0,2}", i = i-2);
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
}
}
答案 0 :(得分:1)
重新考虑您的代码以及您真正希望实现的目标
for(int i = 0; i >= -10;i = i-2)
{
Console.WriteLine(i); //i already has the value you want to print
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
如果你去
Console.Write("{0}", i = i-2);
您为每个循环计算i = i - 2(loop counter) - 2(WriteLine calculation)
,第一个除外,其中i
将为Console.WriteLine("{0}", i = 0 - 2);
答案 1 :(得分:1)
class Program
{
static void Main(string[] args)
{
for(int i = 0; i >= -10; i -= 2)
{
Console.Write("{0,2}", i);
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
}
}
我改变了循环条件和Console.WriteLine,因为它也改变了i的值。
答案 2 :(得分:0)
在for循环中间的表达式在开头是假的。 只要语句为真,for循环才会起作用。
更改
i == -10
到
i != -10
修改强>
你应该试试
i > -10
只是在保存(r)方面。
编辑2:(对用户1666620的信用)
Console.Write("{0,2}", i = i-2);
更改i
的值,因此您应该使用
Console.Write("{0,2}", i-2);
代替。 或者只是使用
Console.Write("{0,2}", i);
如果这是您想要的值。
答案 3 :(得分:0)
for (int i = 0; i >= -10; i -= 2)
{
Console.WriteLine("{0}", i);
}