C# 以及如何使用"System.Timers"



我最近开始使用C#,我想使用计时器。

我阅读了有关如何声明和定义计时器的 Windows 帮助。 我不明白的是为什么我需要Console.ReadLine();线来启动计时器。 (链接到示例(

// Firstly, create a timer object for 5 seconds interval 
timer = new System.Timers.Timer();
timer.Interval = 5000;
// Set elapsed event for the timer. This occurs when the interval elapses −
timer.Elapsed += OnTimedEvent;
timer.AutoReset = false;
// Now start the timer.
timer.Enabled = true;
Console.ReadLine(); // <------- !!!

我想做但未实现的是,一旦声明了计时器,就立即启动计时器。我不想写Console.ReadLine();,因为我可能不需要控制台。

示例:如果我开发了一个计时器类,并从另一个类调用它,如何检查计时器是否已完成?

提前谢谢你。

您需要设置计时器,而不是等待执行OnTimedEvent的时间经过,这就是检查它是否已经过去了的方法。

// Create a timer with a two second interval.
timer = new System.Timers.Timer(2000);
// Hook up the Elapsed event for the timer. 
timer.Elapsed += OnTimedEvent;
timer.AutoReset = true;
timer.Enabled = true;

OnTimedEvent 应如下所示:

private static void OnTimedEvent(Object source, ElapsedEventArgs e)
{
Console.WriteLine("The Elapsed event was raised at {0:HH:mm:ss.fff}",
e.SignalTime);
}

如果您需要停止计时器,则应调用:

timer.Stop();
timer.Dispose();

你需要 Console.ReadLine((; 只是为了不退出主方法和整个程序。如果你正在开发其他东西,如MVC或WPF,你不需要它。

最新更新