C# 定时器
using System.Timers;
internal class Program
{
private static DateTime startTime;
private static void Main(string[] args)
{
// 定义一个变量来存储定时器启动的时间
// 创建一个定时器
var timer = new System.Timers.Timer
{
// 设置定时器的时间间隔为1秒
Interval = 1000
};
// 为定时器的Elapsed事件添加一个事件处理程序
timer.Elapsed += Timer_Elapsed;
timer.Elapsed += Timer_Elapsed2;
// 启动定时器
timer.Start();
// 记录定时器启动的时间
startTime = DateTime.Now;
// 等待用户输入
Console.WriteLine("按任意键退出...");
Console.ReadKey();
// 定义事件处理程序
static void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("1:{0}", e.SignalTime);
}
// 定义事件处理程序
static void Timer_Elapsed2(object sender, ElapsedEventArgs e)
{
// 在控制台输出当前时间
Console.WriteLine("2:{0}", e.SignalTime);
// 检查是否已经过了10秒
if ((DateTime.Now - startTime).TotalSeconds >= 10)
{
// 取消订阅事件
(sender as System.Timers.Timer)!.Elapsed -= Timer_Elapsed2!;
// 停止定时器
// (sender as System.Timers.Timer).Stop();
Console.WriteLine("Timer_Elapsed2 已取消订阅并停止");
}
}
}
}