我需要每 5 秒运行一个函数,持续 10 分钟。
我使用计时器运行它 5 秒,但如何将计时器限制为仅 10 分钟?
最佳答案
只需在经过的处理程序中捕获您想要停止和结束计时器的时间。这是一个示例(注意:我使用了 System.Threading.Timer
timer
。为您正在做的事情选择合适的计时器。例如,您可能在 System.Windows.Forms.Timer
如果您在 Winforms 中编写。)
public class MyClass
{
System.Threading.Timer Timer;
System.DateTime StopTime;
public void Run()
{
StopTime = System.DateTime.Now.AddMinutes(10);
Timer = new System.Threading.Timer(TimerCallback, null, 0, 5000);
}
private void TimerCallback(object state)
{
if(System.DateTime.Now >= StopTime)
{
Timer.Dispose();
return;
}
// Do your work...
}
}
关于c# - 在 C# 中每 x 秒执行一次操作,持续 y 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786672/