2017-02-19 1 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); 
    } 
} 
関連する問題