c# timer数组
时间: 2023-10-19 19:26:10 浏览: 188
在C#中,你可以使用`System.Timers.Timer`类来创建多个定时器,并将它们存储在一个数组中。下面是一个示例代码:
```csharp
using System;
using System.Timers;
class Program
{
static void Main(string[] args)
{
int timerCount = 5; // 定时器数量
// 创建Timer数组
Timer[] timers = new Timer[timerCount];
// 初始化每个定时器
for (int i = 0; i < timerCount; i++)
{
timers[i] = new Timer();
timers[i].Interval = (i + 1) * 1000; // 设置每个定时器的间隔时间,这里以递增的方式设置
timers[i].Elapsed += TimerElapsed; // 绑定事件处理程序
timers[i].AutoReset = true; // 设置为自动重置
}
// 启动每个定时器
foreach (var timer in timers)
{
timer.Start();
}
Console.WriteLine("按任意键停止定时器...");
Console.ReadKey();
// 停止每个定时器
foreach (var timer in timers)
{
timer.Stop();
}
}
static void TimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine($"定时器触发:{e.SignalTime}");
}
}
```
上述代码创建了一个长度为`timerCount`的`Timer`数组,并初始化了每个定时器。每个定时器的间隔时间以递增的方式设置,从1秒到5秒不等。然后,通过循环启动每个定时器,并在按下任意键时停止所有定时器。
在`TimerElapsed`事件处理程序中,你可以编写你想要执行的代码,当定时器触发时会执行该事件处理程序。以上示例只是简单地打印出定时器触发的时间,你可以根据自己的需求进行修改。
阅读全文