在控制台中显示计时器

时间:2011-04-19 22:16:14

标签: c# console-application

我需要在我的过程中显示时间,在这种情况下我以00:00:00的格式显示,所以,问题是当过程结束时,我该如何停止计时器。

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
bool flag = true;
  Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
           bool flag = true;

            while (flag == true)
            {
                TimeSpan timeSpan = TimeSpan.FromSeconds(Convert.ToInt32(stopwatch.Elapsed.TotalSeconds));
                Console.Write(timeSpan.ToString("c"));
                Console.Write('\r');
                //HERE IS MY PROCESS

                //flag = false;

            }

4 个答案:

答案 0 :(得分:1)

在while循环之后,添加

stopwatch.Stop();

答案 1 :(得分:1)

试试这个:

        {
            Stopwatch stopWatch = new Stopwatch();
            stopWatch.Start();
            bool flag = true;

            while (flag == true)
            {
                stopWatch.Stop();
                Console.Write(stopWatch.ElapsedMilliseconds + "ms");
                Console.Write('\r');
                stopWatch.Start();
                //HERE IS MY PROCESS

                //flag = false;

            }

            stopWatch.Stop();
        }

您也可以根据需要设置时间格式,现在已经有毫秒=)

答案 2 :(得分:0)

您可能需要从另一个线程调用stopwatch.Stop()。秒表需要从两者都可以访问,你可能需要在它们之间提供锁定。

答案 3 :(得分:0)

您不必将其关闭。让GC回收内存 尝试任何类型的停止或关闭都会产生更多的工作而不是放弃它。

后台没有进行任何处理,所有工作都是在使用Stopwatch方法和属性时完成的。这是因为Stopwatch没有自己的计数器,它通过读取OS系统范围的时钟两次并减去。