C#项目实战经验——计时方法总结

前言

我们在开发C#程序的过程中经常需要计算某段程序执行的时间,比如调用的某个算法的时间,这时候我们就需要利用计时工具,本文就是详细介绍在C#中我们常用哪些计时工具。

1、计时方法---StopWatch

在C#中我们可以利用Stopwatch这个类来实现计时功能,需要引用System.Diagnostics命名空间,具体使用步骤如下:

第一步、首先new一个Stopwatch 这个类的对象,然后调用这个类中的方法Start,此时开始计时,然后使用 Thread.Sleep(2000);模拟程序执行了2秒;

第二步、调用stopwatch.Stop();来停止计时

第三步、调用stopwatch.Elapsed.TotalMilliseconds;来获取从Start到Stop花费了多少时间,单位是毫秒

csharp 复制代码
 Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            Thread.Sleep(2000);
            stopwatch.Stop();
            double time = stopwatch.Elapsed.TotalMilliseconds;
            Console.WriteLine(time);

输出 结果:

csharp 复制代码
2001.4197

从最终的输出结果看是花费了将近2000毫秒。

如果我们想继续利用这个stopwatch对象 计时的话,我们可以撰写如下代码:

csharp 复制代码
 stopwatch.Restart();
            Thread.Sleep(3000);
            stopwatch.Stop();
            time = stopwatch.Elapsed.TotalMilliseconds;
            Console.WriteLine(time);

可以看出我们调用了Restart方法,这个方法的作用就是让计时器重新计时,这样我们就可以对这个stopwatch进行重复利用了。

最终输出结果是将近3秒,这是因为我使用了 Thread.Sleep(3000);模拟程序运行了3秒。

csharp 复制代码
3000.8774

2、计时方法---DateTime

由于DateTime有一个Now属性,这个属性的作用是记录当前系统的时间,所以我们想要实现计时功能的话,可以计算两次时间的时间差就可以,代码如下:

csharp 复制代码
 DateTime startTime = DateTime.Now;
 Thread.Sleep(2000);
 DateTime stopTime = DateTime.Now;
 time = (stopTime - startTime).TotalMilliseconds;
 Console.WriteLine(time);

代码逻辑如下:

第一步、记录刚开始时间

第二步、记录结束时间

第三步、然后让两个时间相减,然后获取TotalMilliseconds属性,这个属性的意思是:将时间换算成多少毫秒,比如时间是3秒50毫秒,则最终输出值:3050毫秒。

输出结果:

csharp 复制代码
2004.3153

年入30万+C#上位机实战必备教程推荐

1、《C#串口通信从入门到精通》

2、《 C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《 C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

相关推荐
小宁学技术5 分钟前
MATLAB在工程领域的实际应用案例
开发语言·matlab·matlab实际应用案例·matlab应用案例·matlab 实际应用案例
rrtt_232342 分钟前
UE5 尝试接入 C# 脚本方案
ue5·c#·csharp·unrealcsharp
FreeLikeTheWind.1 小时前
Qt 开发时可以在函数内引用的头文件
开发语言·c++·qt
学会870上岸华师1 小时前
c语言学习16——内存函数
c语言·开发语言·学习
PyAIGCMaster1 小时前
react从零开始的基础课
开发语言·javascript·ecmascript
插件开发2 小时前
JavaScript-异步和同步函数使用场景及区别-正确构建程序的核心要点
开发语言·javascript·ecmascript
qq_365911602 小时前
WPF 五子棋项目文档
开发语言
MarvinP3 小时前
python基础:位置互换
开发语言·python·算法
Gauss松鼠会3 小时前
GaussDB回调机制深度实践:从事件驱动到系统集成
开发语言·javascript·数据库·sql·gaussdb