C# 计时器
简介
计时器是在 C# 中用于在指定时间间隔后执行操作的类。它们广泛用于各种应用程序中,例如倒计时、测量执行时间、定期执行任务等。
创建计时器
要创建计时器,可以使用 `System.Timers.Timer` 类:```c# using System.Timers;Timer timer = new Timer(); ```
配置计时器
计时器可以通过以下属性进行配置:
Interval:
以毫秒为单位的计时器触发的时间间隔。
Enabled:
一个布尔值,指示计时器是否已启动。
AutoReset:
一个布尔值,指示计时器是否在触发后自动重置并重新启动。
事件处理
当计时器触发时,它会引发 `Elapsed` 事件。可以在计时器创建后订阅此事件,以指定在触发时要执行的操作:```c# timer.Elapsed += OnElapsed;private void OnElapsed(object sender, ElapsedEventArgs e) {Console.WriteLine("Timer Elapsed"); } ```
启动和停止计时器
可以使用 `Start()` 和 `Stop()` 方法启动和停止计时器:```c# timer.Start(); timer.Stop(); ```
示例用法
以下是 C# 计时器的一个使用示例:```c# using System; using System.Timers;namespace TimerExample {class Program{static void Main(string[] args){// 创建一个每 1 秒触发一次的计时器Timer timer = new Timer(1000);// 订阅 Elapsed 事件timer.Elapsed += OnElapsed;// 启动计时器timer.Start();// 等待计时器触发 5 次int count = 0;while (count < 5){Console.ReadKey();count++;}// 停止计时器timer.Stop();}private static void OnElapsed(object sender, ElapsedEventArgs e){Console.WriteLine("Timer Elapsed");}} } ```
其他类型计时器
除了 `System.Timers.Timer` 类之外,C# 还提供其他类型的计时器,具体取决于应用程序的不同需求:
Stopwatch:
用于测量代码块的执行时间。
DispatcherTimer:
在 WPF 和 Silverlight 应用程序中用于在 UI 线程上调度任务。
BackgroundWorker:
用于执行长时间运行的任务,同时保持 UI 响应。
**C
计时器****简介**计时器是在 C
中用于在指定时间间隔后执行操作的类。它们广泛用于各种应用程序中,例如倒计时、测量执行时间、定期执行任务等。**创建计时器**要创建计时器,可以使用 `System.Timers.Timer` 类:```c
using System.Timers;Timer timer = new Timer(); ```**配置计时器**计时器可以通过以下属性进行配置:* **Interval:** 以毫秒为单位的计时器触发的时间间隔。 * **Enabled:** 一个布尔值,指示计时器是否已启动。 * **AutoReset:** 一个布尔值,指示计时器是否在触发后自动重置并重新启动。**事件处理**当计时器触发时,它会引发 `Elapsed` 事件。可以在计时器创建后订阅此事件,以指定在触发时要执行的操作:```c
timer.Elapsed += OnElapsed;private void OnElapsed(object sender, ElapsedEventArgs e) {Console.WriteLine("Timer Elapsed"); } ```**启动和停止计时器**可以使用 `Start()` 和 `Stop()` 方法启动和停止计时器:```c
timer.Start(); timer.Stop(); ```**示例用法**以下是 C
计时器的一个使用示例:```c
using System; using System.Timers;namespace TimerExample {class Program{static void Main(string[] args){// 创建一个每 1 秒触发一次的计时器Timer timer = new Timer(1000);// 订阅 Elapsed 事件timer.Elapsed += OnElapsed;// 启动计时器timer.Start();// 等待计时器触发 5 次int count = 0;while (count < 5){Console.ReadKey();count++;}// 停止计时器timer.Stop();}private static void OnElapsed(object sender, ElapsedEventArgs e){Console.WriteLine("Timer Elapsed");}} } ```**其他类型计时器**除了 `System.Timers.Timer` 类之外,C
还提供其他类型的计时器,具体取决于应用程序的不同需求:* **Stopwatch:** 用于测量代码块的执行时间。 * **DispatcherTimer:** 在 WPF 和 Silverlight 应用程序中用于在 UI 线程上调度任务。 * **BackgroundWorker:** 用于执行长时间运行的任务,同时保持 UI 响应。