C# 中各种计时器用法小结 C# 中有多种计时器用法,每种计时器用法都有其特点和应用场景。下面将对 C# 中各种计时器用法进行总结和分析。 1. 使用 Stopwatch 类(System.Diagnostics.Stopwatch) Stopwatch 类是 C# 中一种常用的计时器类,用于测量时间间隔的运行时间。Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。 使用 Stopwatch 类可以实现精准的计时功能,且可以根据需要选择使用高分辨率性能的计数器或系统计数器来测量运行时间。 示例代码: ```csharp 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 System.Environment.TickCount 属性用来获取来自计算机的系统计时器的毫秒计数。用法: ```csharp 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 表示毫秒。 C# 中各种计时器用法都有其特点和应用场景,开发者可以根据需要选择合适的计时器来实现计时功能。
- 粉丝: 8
- 资源: 921
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助