C# 定时器
时间: 2023-07-06 12:10:11 浏览: 109
C# 定时器
4星 · 用户满意度95%
在 C# 中,我们可以使用 System.Timers 命名空间下的 Timer 类或 System.Threading 命名空间下的 Timer 类来实现定时器的功能。
下面是使用 System.Timers 命名空间下的 Timer 类实现定时器的示例代码:
```csharp
using System;
using System.Timers;
class Program
{
static void Main(string[] args)
{
// 创建一个 Timer 实例,设置定时器的间隔时间为 1 秒
Timer timer = new Timer(1000);
// 设置定时器的 Elapsed 事件处理函数
timer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
// 启动定时器
timer.Start();
// 等待用户输入任意字符,然后退出程序
Console.ReadLine();
}
static void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed at {0}", e.SignalTime);
}
}
```
在上面的代码中,我们创建了一个 Timer 实例,并设置了它的间隔时间为 1 秒。然后,我们将 OnTimerElapsed 函数设置为定时器的 Elapsed 事件处理函数,在该函数中打印了当前时间。最后,我们启动了定时器,并在主函数中等待用户输入任意字符,以便程序能够持续运行。
需要注意的是,Timer 类的 Elapsed 事件处理函数是在另外一个线程中执行的,因此在处理事件时需要考虑线程安全的问题。此外,如果需要在 UI 线程中更新 UI 控件,需要使用 Invoke 或 BeginInvoke 方法来避免跨线程访问 UI 控件的异常。
阅读全文