C# Stopwatch 类
Stopwatch 可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Stopwatch来测量时间。
使用的时候需要引用 System.Diagnostics 命名空间。先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性或者使用 ElapsedMilliseconds 属性得到运行时间(这两个属性的区别是前者得到的是TimeSpan实例,后者得到的是毫秒)。使用 IsRunning 可以确定 Stopwatch 的当前状态是正在运行还是已经停止。每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。 使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。
常用属性:
Stopwatch.Elapsed 获取当前实例测量得出的总运行时间。
Stopwatch.ElapsedMilliseconds 获取当前实例测量得出的总运行时间(以毫秒计时)。
Stopwatch.ElapsedTicks 获取当前实例测量得出的总运行时间(用计时器计时周期表示)。
Stopwatch.IsRunning 获取一个指示Stopwatch计时器是否在运行的值。
using System; using System.Diagnostics; namespace Stopwatch类 { class Program { static void Main(string[] args) { Stopwatch sw = new Stopwatch();//实例化 sw.Start();//开始或继续测量某个时间间隔的运行时间。 Sum();//调用静态方法 sw.Stop();//停止测量某个时间间隔的运行时间。 Console.WriteLine("一共用时 {0} .约用时 {1} 秒.", sw.Elapsed, (sw.ElapsedMilliseconds / 1000));//Elapsed 获取当前实例测量得出的总运行时间。 ElapsedMilliseconds 获取当前实例测量得出的总运行时间(以毫秒为单位)。 Console.ReadKey();//按任意键 } static void Sum()//静态方法 { long sum = 0; for (int i = 0; i < 1000000000; i++)//循环 { sum += i;//相加 sum = sum + i; } Console.WriteLine("相加结果:" + sum);//输出 } } }
输出结果: