C#中各种计时器用法小结
发布时间 - 2026-01-11 01:50:26 点击率:次本文实例总结了C#中各种计时器用法。分享给大家供大家参考,具体如下:

1、使用 Stopwatch 类 (System.Diagnostics.Stopwatch)
Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。
Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。通过属性 Elapsed、ElapsedMilliseconds 或 ElapsedTicks 查询运行时间值。当实例正在运行或已停止时,可以查询运行时间属性。运行时间属性在 Stopwatch 运行期间稳固递增;在该实例停止时保持不变。
默认情况 下,Stopwatch 实例的运行时间值相当于所有测量的时间间隔的总和。每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。
Stopwatch在基础计时器机制中对计时器的刻度进行计数,从而测量运行时间。如果安装的硬件和操作系统支持高分辨率性能的计数器,则 Stopwatch 类将使用该计数器来测量运行时间;否则,Stopwatch 类将使用系统计数器来测量运行时间。使用 Frequency 和 IsHighResolution 字段可以确定实现 Stopwatch 计时的精度和分辨率。
示例
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); //任务 1... stopwatch.Stop(); _result.Text += "<p>任务 1 用时:" + stopwatch.ElapsedTicks + "。</p>"; stopwatch.Reset(); //若没有 Reset,则会把任务 1 的用时累计进入任务 2 stopwatch.Start(); //任务 2... stopwatch.Stop(); _result.Text += "<p>任务 2 用时:" + stopwatch.ElapsedTicks + "。</p>";
2、基于 Windows 的标准计时器(System.Windows.Forms.Timer)
Windows 计时器是为单线程环境设计的,这个计时器是使用最简单的一种,只要把工具箱中的Timer控件拖到窗体上,然后设置一下事件和间隔时间等属性就可以了。
3、基于服务器的计时器(System.Timers.Timer)
System.Timers.Timer不依赖窗体,是从线程池唤醒线程,是传统的计时器为了在服务器环境上运行而优化后的更新版本。
4、线程计时器(System.Threading.Timer)
线程计时器也不依赖窗体,是一种简单的、轻量级计时器,它使用回调方法而不是使用事件,并由线程池线程提供支持。
5、System.Environment.TickCount
TickCount属性用来获取来自计算机的系统计时器的毫秒计数。
用法:
int startTime=System.Environment.TickCount; //......任务...... int endTime=System.Environment.TickCount; int runTime=endTime-startTime;//(注意单位是毫秒哦!)
6、使用TimeSpan类(System.TimeSpan)
TimeSpan 对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。用于度量持续时间的最大时间单位是天。更大的时间单位(如月和年)的天数不同,因此为保持一致性,时间间隔以天为单位来度量。
TimeSpan 对象的值是等于所表示时间间隔的刻度数。一个刻度等于 100 纳秒,TimeSpan 对象的值的范围在 MinValue 和 MaxValue 之间。
TimeSpan 值可以表示为 [-]d.hh:mm:ss.ff,其中减号是可选的,它指示负时间间隔,d 分量表示天,hh 表示小时(24 小时制),mm 表示分钟,ss 表示秒,而 ff 为秒的小数部分。即,时间间隔包括整的正负天数、天数和剩余的不足一天的时长,或者只包含不足一天的时长。例如,初始化为 1.0e+13 刻度的 TimeSpan 对象的文本表示“11.13:46:40”,即 11 天,13 小时,46 分钟和 40 秒。
用法:
System.DateTime startTime,endTime; System.TimeSpan time; startTime=System.DateTime.Now; //......任务...... endTime=System.DateTime.Now; time=endTime-startTime; int runTime=time.Milliseconds;//(以毫秒为单位)
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#日期与时间操作技巧总结》、《C#字符串操作技巧总结》、《C#数组操作技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
# C#
# 计时器
# C#中的三种定时计时器Timer用法介绍
# c# 实现计时器功能
# C#计时器的三种实现方法
# C#线程倒计时器源码分享
# c# 区分几种定时器(timer)
# 详解C#中的定时器Timer类及其垃圾回收机制
# C#中timer定时器用法实例
# c#各种Timer类的区别与用法介绍
# C#四种计时器Timer的区别和用法
# 操作技巧
# 程序设计
# 时长
# 持续时间
# 也不
# 是一种
# 相关内容
# 多个
# 更大
# 环境设计
# 是从
# 感兴趣
# 要把
# 数据结构
# 给大家
# 可选
# 最简单
# 更多关于
# 中对
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript如何实现继承_有哪些常用方法
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
海南网站制作公司有哪些,海口网是哪家的?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
如何实现javascript表单验证_正则表达式有哪些实用技巧
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
原生JS实现图片轮播切换效果
网站优化排名时,需要考虑哪些问题呢?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何快速登录WAP自助建站平台?
开心动漫网站制作软件下载,十分开心动画为何停播?
phpredis提高消息队列的实时性方法(推荐)
canvas 画布在主流浏览器中的尺寸限制详细介绍
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
高防服务器租用如何选择配置与防御等级?
PythonWeb开发入门教程_Flask快速构建Web应用
微信h5制作网站有哪些,免费微信H5页面制作工具?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
SQL查询语句优化的实用方法总结
非常酷的网站设计制作软件,酷培ai教育官方网站?
简单实现jsp分页
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
创业网站制作流程,创业网站可靠吗?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
如何在IIS7中新建站点?详细步骤解析
bing浏览器学术搜索入口_bing学术文献检索地址
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何在IIS服务器上快速部署高效网站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何在自有机房高效搭建专业网站?
如何获取上海专业网站定制建站电话?
如何在宝塔面板中修改默认建站目录?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
如何用已有域名快速搭建网站?
Laravel Fortify是什么,和Jetstream有什么关系
Laravel怎么清理缓存_Laravel optimize clear命令详解
佛山网站制作系统,佛山企业变更地址网上办理步骤?
JS经典正则表达式笔试题汇总
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何快速搭建安全的FTP站点?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Android GridView 滑动条设置一直显示状态(推荐)
百度浏览器如何管理插件 百度浏览器插件管理方法
免费网站制作appp,免费制作app哪个平台好?
上一篇:U盘锁电脑,安全新把关
上一篇:U盘锁电脑,安全新把关

