浅谈c# 中的间隔计时器

   在 C# 提供了一个方便的计时器类Stopwatch ,用来记录程序执行时间等。

   先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。这是最常用的方法。

代码
private System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();

....................

stopwatch.Stop();
statusStrip_show.Items[
0].Text = "耗时:" + stopwatch.Elapsed.Hours.ToString() + "小时"
+ stopwatch.Elapsed.Minutes.ToString() + ""
+ stopwatch.Elapsed.Seconds.ToString() + ""
+ stopwatch.Elapsed.Milliseconds.ToString() + "毫秒";

Stopwatch类提供了以下属性:

  • Elapsed:返回一个TimeSpan对象,表示计时时间间隔;
  • ElapsedMilliseconds:返回计时经过的毫秒数,精确度稍差,适合于稍长一点的计时;
  • ElapsedTicks: 返回计时经过的计时器刻度(timer tick)数。计时器刻度是Stopwatch对象可能的最小量度单位。计时器刻度时间的长度由特定的计算机和操作系统确定。Stopwatch对象的 Frequency静态字段的值表示一秒所包含的计时器刻度数。注意它与TimeSpan的Ticks属性所用的时间单位的区别。

    应当根据计时任务的情况选择其中的一个属性。在我们的示例程序中,Elapsed属性提供了需要的精确度(包括小时,分,秒,毫秒)用它来输出经过的微秒数。这也是TimeSpan的最高精确度了。

posted @ 2010-01-09 17:04  p-boy  阅读(897)  评论(0编辑  收藏  举报