for循环倒计时不起作用

本文关键字:不起作用 倒计时 循环 for | 更新日期: 2023-09-27 18:08:32

如何在控制台中使用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");
    }
}

for循环倒计时不起作用

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");
    }
}

我改变了循环条件和控制台。WriteLine,因为它也在改变i的值

重新考虑你的代码和你真正想要存档的

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);

for (int i = 0; i >= -10; i -= 2)
{
    Console.WriteLine("{0}", i);
}

for循环中间的表达式在开始时为false。for循环只在语句为真时才会起作用。

改变
i == -10

i != -10
编辑:

你应该试试

i > -10

只是为了保存(r)。

Edit2: (credit to user1666620)

Console.Write("{0,2}", i = i-2);

改变了i的值,所以您应该使用

Console.Write("{0,2}", i-2);

。或者直接使用

Console.Write("{0,2}", i);