在控制台上同一个位置显示时间倒计时

解决方案 »

  1.   

    static void Main(string[] args)
    {
        DateTime d = DateTime.Now;
        while ((DateTime.Now - d).TotalSeconds < 10)
        {
            Console.SetCursorPosition(10, 10);
            Console.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            Thread.Sleep(1000);
        }
        Console.ReadKey();
    }
      

  2.   

          int dueInSeconds = 30; 
            DateTime dueTime = DateTime.Now + TimeSpan.FromSeconds(dueInSeconds); 
            int top = Console.CursorTop;
            int left = Console.CursorLeft; 
            System.Threading.ThreadPool.QueueUserWorkItem(delegate(object o) 
            { 
                while (true) 
                { 
                    TimeSpan remaining = dueTime - DateTime.Now; 
                    if (remaining.TotalSeconds <= 0) return; 
                    Console.SetCursorPosition(left, top); 
                    Console.Write(string.Format("Remaining seconds: {0,5}", (int)remaining.TotalSeconds)); 
                    System.Threading.Thread.Sleep(1000); 
                } 
            }); 
            Console.ReadLine(); 
      

  3.   


                int seconds = 100;
                while (seconds > 0)
                {
                    Console.SetCursorPosition(0, 0);
                    Console.Write("倒计时:{0,3}",seconds);
                    seconds--;
                    System.Threading.Thread.Sleep(1000);
                }
                Console.ReadKey();