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);//输出
}
}
}输出结果:
