1.Stopwatch类

Stopwatch 通常用于测量代码执行时间,是性能分析和计时任务的常用工具。在下面的例子里会经常使用到;

1.1、声明

1.1.1正常声明

因为是一个类所以可以直接用正常的类的声明方法

 Stopwatch sw= new Stopwatch ();
1.1.2StartNew()

这个类里有一个静态方法StartNew()使用这个方法就可以直接声明并且直接启动计时;注意是静态使用使用直接Stopwatch.就可以;

  Stopwatch sw1 = Stopwatch.StartNew();

第一个的使用场景就是需要自己控制什么时候开始;第二个的是直接就开始;一般都是测代码的时间用二比较多;

1.2、启动、暂停、清零和重新开始四个方法

1.2.1启动   Start()

顾名思义就是启动开始计时,这个配合第一种声明使用;

 Stopwatch sw = new Stopwatch ();
sw.Start();
1.2.2暂停  Stop()

顾名思义就是暂停当前计时,再启动的时候就再用Start()方法就可以继续计时

 Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Stop();//暂停
sw.Start();//再启动
1.2.3清零 Reset()

顾名思义就是清除当前计时,但是注意只是清零还会继续计时不会停止

 Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Reset();//清零
1.2.4重启   Restart()

重启就是会先清零计时再重新启动,这个一般用在测试循环的每一次运行时间

 Stopwatch sw = new Stopwatch ();
while(true)
{

sw.Restart();//重启

}

1.3、获取计时

获取计时用下面四个StopWatch类的属性,一般是用第二种

  • Elapsed:返回 TimeSpan 类型,包含天、时、分、秒、毫秒等详细信息
  • ElapsedMilliseconds:总毫秒数(长整数)
  • ElapsedTicks:时钟周期数(高精度)
  • Elapsed.TotalSeconds:总秒数(双精度,包含小数部分)
 Stopwatch sw = Stopwatch.StartNew();
        Thread.Sleep(500);
        Console.WriteLine($"{sw.ElapsedMilliseconds}ms cost");
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐