在C#中,可以使用 System.Timers.Timer 或 System.Threading.Timer 类来实现计时器功能,用于在指定的时间间隔内执行代码。以下是这两种计时器的用法示例:
使用 System.Timers.Timer:
using System;
using System.Timers;
class Program
{
static void Main()
{
Timer timer = new Timer();
timer.Interval = 1000; // 设置计时器的间隔,单位为毫秒
timer.Elapsed += TimerElapsed; // 添加事件处理程序
timer.AutoReset = true; // 设置是否自动重置计时器
timer.Start(); // 启动计时器
Console.WriteLine("Press Enter to stop the timer.");
Console.ReadLine();
timer.Stop(); // 停止计时器
timer.Dispose(); // 释放计时器资源
}
static void TimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed at: " + DateTime.Now);
}
}
在上面的示例中,使用 System.Timers.Timer 类创建了一个计时器,每隔一秒钟触发一次 TimerElapsed 事件处理程序。可以使用 Start() 启动计时器,使用 Stop() 停止计时器,最后使用 Dispose() 释放计时器资源。
使用 System.Threading.Timer:
using System;
using System.Threading;
class Program
{
static void Main()
{
Timer timer = new Timer(TimerCallback, null, 0, 1000); // 创建计时器
Console.WriteLine("Press Enter to stop the timer.");
Console.ReadLine();
timer.Dispose(); // 释放计时器资源
}
static void TimerCallback(object state)
{
Console.WriteLine("Timer elapsed at: " + DateTime.Now);
}
}
在这个示例中,使用 System.Threading.Timer 类创建了一个计时器,通过 TimerCallback 方法指定定时触发的操作。第三个参数 0 表示计时器首次触发的延迟时间,最后一个参数 1000 表示计时器的间隔时间(以毫秒为单位)。
这两个示例展示了使用 System.Timers.Timer 和 System.Threading.Timer 类创建计时器的基本用法。您可以根据需要选择适合您需求的计时器类型,并根据事件处理程序执行您希望的操作。