所以,我在C#中有一个无限循环,但问题是,我希望循环在某个时刻结束。不是基于计数或循环间隔,而是基于一段时间,因此一旦该时间段过去,循环结束。我该怎么办?
答案 0 :(得分:1)
使用Timer或Thread来做到这一点。你可以轻松完成任务。
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.....
}
检查其他解决方案:.NET, event every minute (on the minute). Is a timer the best option?
或 的修改
试
DateTime dt = DateTime.Now.AddMinutes(10);
for (; ; )
{
if (dt < DateTime.Now)
break;
}