2017-02-19 15 views
0

我想知道如何在VisualStudio中創建一個循環。我能夠做一個while循環使用此代碼:如何在每次激活之間設置一段時間,在VisualStudio中創建一個循環?

int i = 0; 
while (i<1) 
{ 
    //event 
} 

不過,我想添加的每個循環之間的停頓,因此當//事件完成,它重複之前暫停3秒鐘,任何幫助將不勝感激。謝謝!

+1

Visual Studio是一種IDE,不是一種編程語言。 – tkausl

+0

如果它不是一個UI線程使用Thread.Sleep(3000); ...假定C# – Axis

+2

使用計時器而不是循環。 –

回答

1

以下是控制檯程序。它顯示了許多可能性之一。如果這不能滿足您的要求,那麼可能需要澄清這些要求。請注意,由於這是一個控制檯程序,我正在使用AutoResetEvent使程序等待,直到WorkDone的值爲3.您的TimerCallback可以執行任何需要執行的操作,並且每3秒執行一次。

using System; 
using System.Threading; 

namespace SO42323314 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      WorkToDo ToDo = new WorkToDo(); 
      Timer ticker = new Timer(TimerCallback, ToDo, 0, 3000); 
      ToDo.are.WaitOne(); 
     } 

     /// <summary> 
     /// This will be called every time the interval occurs 
     /// </summary> 
     /// <param name="ToDoObject"></param> 
     static void TimerCallback(object ToDoObject) 
     { 
      WorkToDo ToDo = ToDoObject as WorkToDo; 
      Console.WriteLine(ToDo.WorkDone); 
      ++ToDo.WorkDone; 
      if (ToDo.WorkDone > 3) 
       ToDo.are.Set(); // signal the AutoResetEvent 
     } 
    } 

    class WorkToDo 
    { 
     public int WorkDone = 0; 
     // initialize the AutoResetEvent to not signaled 
     public AutoResetEvent are = new AutoResetEvent(false); 
    } 
} 
相關問題