在 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.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的最高精确度了。