C# StopWatch的使用
一、Stopwatch的用处
Stopwatch来自于System.using System.Diagnostics命名空间。它可以测量一个时间间隔的运行时间,或跨多个间隔的已用时间总数。 在典型方案中,调用Start()方法,最后调用Stop()方法,然后使用属性 Elapsed 检查运行时间。
二、Stopwatch的字段和属性
字段 | 字段说明 |
---|---|
Frequency | 获取以每秒刻度数表示的计时器频率。 此字段为只读 |
IsHighResolution | 指示计时器是否基于高分辨率性能计数器。 此字段为只读 |
属性 | 属性说明 |
---|---|
Elapsed | 获取当前实例测量得出的总运行时间 |
ElapsedMilliseconds | 获取当前实例测量得出的总运行时间(以毫秒为单位) |
ElapsedTicks | 获取当前实例测量得出的总运行时间(用计时器刻度表示) |
IsRunning | 获取一个值,该值表示 Stopwatch 计时器是否正在运行 |
三、Stopwatch的方法
方法 | 方法说明 |
---|---|
Equals(Object) | 确定指定对象是否等于当前对象 |
GetHashCode() | 作为默认哈希函数 |
GetTimestamp() | 获取计时器机制中的当前刻度数 |
GetType() | 获取当前实例的 Type |
MemberwiseClone() | 创建当前 Object 的浅表副本 |
Reset() | 停止时间间隔测量,并将运行时间重置为零 |
Restart() | 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间 |
Start() | 开始或继续测量某个时间间隔的运行时间 |
StartNew() | 初始化新的 Stopwatch 实例,将运行时间属性设置为零,然后开始测量运行时间 |
Stop() | 停止测量某个时间间隔的运行时间 |
ToString() | 返回表示当前对象的字符串 |
四、使用实例
using System.Diagnostics;
//创建一个StopWatch实例
Stopwatch stopWatch = new Stopwatch();
//使用StartNew表示已经实例并且开始计时
//Stopwatch stopWatch = Stopwatch.StartNew();
//计时开始
stopWatch.Start();
for (int i = 0; i < 100; i++)
{
Console.Write(i + " ");
}
Console.WriteLine();
//停止计时
stopWatch.Stop();
Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");
//重置stopWatch
stopWatch.Reset();
Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");
//重启stopWatch
stopWatch.Restart();
for (int i = 0; i < 20; i++)
{
Console.Write(i + " ");
}
Console.WriteLine();
stopWatch.Stop();
Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");
//总运行时间
Console.WriteLine("耗时:"+stopWatch.Elapsed);
作者:WangJianqiu
出处:https://www.cnblogs.com/WangJianqiu/p/16718505.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构