C#写倒计时功能
首先要获取总时间,然后进行倒计时。求详细过程和代码,本人小菜鸟一枚倒计时的详细代码,一定要加上注释,本人刚接触编程,谢谢了...
首先要获取总时间,然后进行倒计时。求详细过程和代码,本人小菜鸟一枚
倒计时的详细代码,一定要加上注释,本人刚接触编程,谢谢了 展开
倒计时的详细代码,一定要加上注释,本人刚接触编程,谢谢了 展开
1个回答
展开全部
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(毫秒);线程暂停多少毫秒继续执行。为了避免占用过多的系统资源。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询