System.Timers.Timer 类用于创建定时器,它可以在指定的时间间隔内触发事件。
创建 Timer 实例: 使用 new System.Timers.Timer() 创建一个新的定时器实例。
设置定时器属性: 设置定时器的属性,主要包括 Interval(触发事件的时间间隔)和 AutoReset(指定是否重复触发事件)。
订阅 Elapsed 事件: 使用 Elapsed 事件来定义在时间间隔到达时执行的操作。
启动定时器: 调用 Start 方法启动定时器。
停止定时器(如果需要): 可以使用 Stop 方法停止定时器。
csharp
using System;
using System.Timers;
class Program
{
private static System.Timers.Timer myTimer;
static void Main()
{
// 创建定时器实例
myTimer = new System.Timers.Timer();
// 设置触发事件的时间间隔为 1秒
myTimer.Interval = 1000;
// 设置 AutoReset 为 true,使定时器在每个时间间隔到达时重置并触发 Elapsed 事件
myTimer.AutoReset = true;//当 AutoReset 设置为 false 时,计时器只会在第一次触发 Elapsed 事件后停止,除非手动调用 Start 方法重新启动计时器。AutoReset 属性的默认值是 true
// 指定 Elapsed 事件的处理方法
myTimer.Elapsed += OnTimerElapsed;
// 启动定时器
myTimer.Start();
Console.WriteLine("Press Enter to stop the timer.");
Console.ReadLine(); // 阻塞主线程等待用户输入
// 停止定时器
myTimer.Stop();
Console.WriteLine("Timer stopped. Press Enter to exit.");
Console.ReadLine();
}
// Elapsed 事件的处理方法
private static void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed! Performing some task...");
// 在这里可以添加定时器触发时要执行的操作
Console.WriteLine("Task completed.");
}
}