如何在C#中的每个特定时间间隔触发事件?

Ris*_*ain 2 c# timer

计时器需要作为一个线程运行,它将在每个固定的时间间隔内触发一个事件.我们怎样才能在c#中做到这一点?

Phi*_*gan 6

这是一个简短的片段,每隔10秒打印一条消息.

using System;
public class AClass
{
    private System.Timers.Timer _timer;
    private DateTime _startTime;

    public void Start()
    {
        _startTime = DateTime.Now;
        _timer = new System.Timers.Timer(1000*10); // 10 seconds
        _timer.Elapsed += timer_Elapsed;
        _timer.Enabled = true;
        Console.WriteLine("Timer has started");
    }

    void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        TimeSpan timeSinceStart = DateTime.Now - _startTime;
        string output = string.Format("{0},{1}\r\n", DateTime.Now.ToLongDateString(), (int) Math.Floor( timeSinceStart.TotalMinutes));
        Console.Write(output);
    }
}
Run Code Online (Sandbox Code Playgroud)