2011-09-23 68 views
0

可能重複:
How to execute the loop for specific time如何在C#中運行循環一段時間?

所以,我在C#中的無限循環,但事情是,我希望循環在某個時候結束。不基於計數或循環間隔,而是基於一段時間,因此一旦這段時間過去,循環結束。我該如何做這樣的事情?

+0

@米奇小麥 - 我無緣看到,統計 –

+0

@Jacob - 不要忘記,以紀念如果你得到你想要的信息,請按照說明回答 –

回答

1

利用定時器或線程來做到這一點。你可以輕鬆完成任務。

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; 
      } 
+0

我會如何處理GH? – Alper