C#写倒计时功能

首先要获取总时间,然后进行倒计时。求详细过程和代码,本人小菜鸟一枚倒计时的详细代码,一定要加上注释,本人刚接触编程,谢谢了... 首先要获取总时间,然后进行倒计时。求详细过程和代码,本人小菜鸟一枚
倒计时的详细代码,一定要加上注释,本人刚接触编程,谢谢了
展开
 我来答
好几只小萝莉
2015-12-18 · TA获得超过398个赞
知道小有建树答主
回答量:488
采纳率:100%
帮助的人:167万
展开全部
class Program
{
    static void Main(string[] args)
    {
        Thread t = new Thread(CountDown);
        t.IsBackground = true;
        t.Start();

        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();
    }

    static void CountDown()
    {
        double second = 0;

        Console.Clear();
        Console.WriteLine("Input second: ");
        double.TryParse(Console.ReadLine(), out second);
        while (second <= 0)
        {
            Console.Clear();
            Console.WriteLine("Input right second: ");
            double.TryParse(Console.ReadLine(), out second);
        }

        DateTime dt = DateTime.Now;
        while (second - (DateTime.Now - dt).TotalSeconds >= 0)
        {
            Console.Clear();
            Console.WriteLine("Remainder: {0:F1}", second - (DateTime.Now - dt).TotalSeconds);
            Thread.Sleep(30);
        }

        Console.Clear();
        Console.WriteLine("Count down to the end");
    }
}
追问
谢谢你,能麻烦稍稍解释一下代码么,
追答
大的来说,就是起一个线程。循环判断是否倒计时结束。

在线程开始的时候,这里我写了一个用户输入倒计时时间的过程,忽略。
真正倒计时开始的时候:
也就是上面代码27行:DateTime dt = DateTime.Now; 的时候
先保存当前的时间为dt。
while循环判断当前时间和之前保存的dt相差是否达到设定的值。
没有达到就循环。Thread.Sleep(毫秒);线程暂停多少毫秒继续执行。为了避免占用过多的系统资源。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式