C# 中使用Stopwatch计时器用于监测代码块的执行时间

C# 中使用Stopwatch计时器用于监测代码块的执行时间

编码文章call10242025-02-04 12:23:4816A+A-

Stopwatch计时器概述

在C#中,Stopwatch类是System.Diagnostics命名空间的一部分,它提供了一个简单的方式来测量时间间隔。Stopwatch类主要用于高精度测量代码块的执行时间。

以下是Stopwatch类的一些主要方法和属性:

  • Start(): 开始计时。
  • Stop(): 停止计时。
  • Reset(): 重置计时器。
  • ElapsedMilliseconds: 获取从开始到当前时间经过的毫秒数。
  • ElapsedTime: 获取从开始到当前时间的总时间。

Stopwatch计时器应用完整范例

Stopwatch计时器应用完整范例代码如下

using System;
using System.Diagnostics;

namespace ConsoleApp_StopWatch
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建Stopwatch实例  
            Stopwatch stopwatch = new Stopwatch();

            // 开始计时  
            stopwatch.Start();

            // 这里放置你想要测量执行时间的代码  
            for (int i = 0; i < 1000000; i++)
            {
                // 这只是一个示例,实际情况下,你的代码可能会在这里替换掉这个循环  
            }

            // 停止计时  
            stopwatch.Stop();

            // 获取总时间(以毫秒为单位)
            double milliseconds = stopwatch.Elapsed.TotalMilliseconds;
            Console.WriteLine("总时间(毫秒): {0}", milliseconds);

            // 重置Stopwatch计时器
            stopwatch.Reset();

            Console.ReadLine();

        }
    }
}

代码解析:

1)Stopwatch stopwatch = new Stopwatch(); ---- 创建一个新的Stopwatch实例。

2)stopwatch.Start(); ---- 开始计时。此时,计时器开始记录经过的时间。

3)for (int i = 0; i < 1000000; i++) {...} ---- 在这里放置你想要测量执行时间的代码。这个示例中是一个简单的循环,但你可以将其替换为你自己的代码。

4)stopwatch.Stop(); ---- 停止计时。此时,计时器不再记录时间。

5)double milliseconds =
stopwatch.Elapsed.TotalMilliseconds; ---- 使用Elapsed属性获取从开始到停止计时器所经过的时间,并将其转换为毫秒。

6)Console.WriteLine("总时间(毫秒): {0}", milliseconds); ---- 输出经过的时间(以毫秒为单位)。

7)stopwatch.Reset(); ---- 重置Stopwatch计时器。这会清除所有以前的时间测量结果,并准备好再次开始计时。

8)Console.ReadLine();----等待用户操作

注意事项

Stopwatch计时器的精度取决于计算机CPU的主频。它提供了高精度的计时功能,可以精确到纳秒级别,适用于对代码性能进行细致分析。然而,它的精度可能受到计算机硬件和操作系统等多种因素的影响。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4