【C#】 Stopwatch详解
Stopwatch的命名空间是using System.Diagnostics;
1 namespace System.Diagnostics 2 { 3 // 4 // 摘要: 5 // 提供一组方法和属性,可用于准确地测量运行时间。 6 public class Stopwatch 7 { 8 // 9 // 摘要: 10 // 获取以每秒计时周期数表示的计时器频率。此字段为只读。 11 public static readonly long Frequency; 12 // 13 // 摘要: 14 // 指示计时器是否基于高分辨率性能计数器。此字段为只读。 15 public static readonly bool IsHighResolution; 16 17 // 18 // 摘要: 19 // 初始化 System.Diagnostics.Stopwatch 类的新实例。 20 public Stopwatch(); 21 22 // 23 // 摘要: 24 // 获取当前实例测量得出的总运行时间。 25 // 26 // 返回结果: 27 // 一个只读的 System.TimeSpan,用于表示当前实例测量得出的总运行时间。 28 public TimeSpan Elapsed { get; } 29 // 30 // 摘要: 31 // 获取当前实例测量得出的总运行时间(以毫秒为单位)。 32 // 33 // 返回结果: 34 // 一个只读长整型,表示当前实例测量得出的总毫秒数。 35 public long ElapsedMilliseconds { get; } 36 // 37 // 摘要: 38 // 获取当前实例测量得出的总运行时间(用计时器计时周期表示)。 39 // 40 // 返回结果: 41 // 一个只读长整型,表示当前实例测量得出的计时器计时周期的总数。 42 public long ElapsedTicks { get; } 43 // 44 // 摘要: 45 // 获取一个指示 System.Diagnostics.Stopwatch 计时器是否在运行的值。 46 // 47 // 返回结果: 48 // 如果 System.Diagnostics.Stopwatch 实例当前正在运行,并且在对某个时间间隔的运行时间进行测量,则该值为 true;否则为 false。 49 public bool IsRunning { get; } 50 51 // 52 // 摘要: 53 // 获取计时器机制中的当前最小时间单位数。 54 // 55 // 返回结果: 56 // 一个长整型,表示基础计时器机制中的计时周期计数器值。 57 public static long GetTimestamp(); 58 // 59 // 摘要: 60 // 对新的 System.Diagnostics.Stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。 61 // 62 // 返回结果: 63 // 刚刚开始测量运行时间的 System.Diagnostics.Stopwatch。 64 public static Stopwatch StartNew(); 65 // 66 // 摘要: 67 // 停止时间间隔测量,并将运行时间重置为零。 68 public void Reset(); 69 // 70 // 摘要: 71 // 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。 72 public void Restart(); 73 // 74 // 摘要: 75 // 开始或继续测量某个时间间隔的运行时间。 76 public void Start(); 77 // 78 // 摘要: 79 // 停止测量某个时间间隔的运行时间。 80 public void Stop(); 81 } 82 }
使用方法:
Stopwatch sw = new Stopwatch(); //开始计时 sw.Start(); //重新设置为零 sw.Reset(); //重新设置并开始计时 sw.Restart(); //结束计时 sw.Stop(); //获取运行时间间隔 TimeSpan ts = sw.Elapsed; //获取运行时间[毫秒] long times = sw.ElapsedMilliseconds; //获取运行的总时间 long times2 = sw.ElapsedTicks; //判断计时是否正在进行[true为计时] bool isrun = sw.IsRunning; //获取计时频率 long frequency = Stopwatch.Frequency;
【转自】http://blog.csdn.net/w200221626/article/details/51980873