C# stopwatch的使用
时间: 2025-05-05 22:48:24 浏览: 49
`Stopwatch` 是 .NET 框架提供的一个用于高精度计时的工具类,位于 `System.Diagnostics` 命名空间下。它主要用于测量时间间隔、计算程序运行耗时等场景。
以下是关于如何使用 `Stopwatch` 的简单介绍:
### 使用步骤
1. **创建 Stopwatch 实例**
创建一个新的 `Stopwatch` 对象以便开始记录时间。
2. **启动计时器**
调用 `Start()` 方法可以开启计时过程。
3. **停止计时器**
当需要结束计时时,调用 `Stop()` 方法即可。
4. **获取已消耗的时间**
可通过属性如 `ElapsedMilliseconds` 或 `ElapsedTicks` 获取经过的时间值。
#### 示例代码
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 初始化并实例化 StopWatch 类的对象
Stopwatch stopWatch = new Stopwatch();
// 开始计时
stopWatch.Start();
// 这里模拟一些操作,例如循环或函数调用
for (int i = 0; i < 1000000; i++) { }
// 结束计时
stopWatch.Stop();
// 输出结果
Console.WriteLine("耗费时间: " + stopWatch.Elapsed.TotalSeconds + " 秒");
Console.WriteLine("毫秒数: " + stopWatch.ElapsedMilliseconds);
Console.WriteLine("滴答数: " + stopWatch.ElapsedTicks);
// 判断是否支持高精度定时器
if (Stopwatch.IsHighResolution)
Console.WriteLine("系统支持高性能计时器!");
else
Console.WriteLine("未启用高性能计时器...");
}
}
```
在这个例子中我们初始化了一个 `stopWatch`, 让其分别执行了计时任务,并最终打印出了总的耗时情况以及其他相关信息。
---
### 关键点解析
- **IsHighResolution**: 表示当前系统的计时器是否具备较高的分辨率。
- **ElapsedMilliseconds**: 返回从计时开始到现在的总毫秒数。
- **ElapsedTicks**: 提供的是基于操作系统计时单位的一个更精细数值表示形式。
如果希望只精确地衡量某段代码块内发生的具体性能开销,则只需在这部分前后加上相应的 start 和 stop 即可!
阅读全文
相关推荐


















