2016-11-06 4 views
-4

私はC#コンソールアプリケーションを開発しています。私は「開始」と書いたときに起動し、10分を過ぎると自動的に停止するタイマーを追加する必要があります。 "static void Main()"のみを使用してこれを行うにはどうすればよいですか?C#の10分タイマー

私はこれを持っている:

using System; 
using System.Timers; 

namespace myScript 
{ 
    class Program 
    { 
     static void Main() 
     { 
      string getInput = Console.ReadLine(); 

      if (getInput == "start") 
      { 
       //start timer 
      } 

      if (//10 minutes have passed) 
      { 
       //do something 
      } 
     } 
    } 
} 

ありがとうございました!

+0

* main class * ...を定義し、既に試したものを表示してください。あなたの質問は次のようなものです:私は 'x'と' y'をするプログラムが必要です、あなたは私のためにそれを書くことができますか? – Jim

+0

私はあなたを助けるためにいくつかのより多くの情報が必要です。入力を開始したら何が起こるはずですか?アプリケーションはブロックする必要がありますか?複数のタイマーを起動することは可能でしょうか? – Jonas

+0

@Jonasありがとう!私はちょうど質問を編集しました。 – POILOI

答えて

-1
using System; 
    using System.Threading; 

static void Main(string[] args) 
      { 
       Console.WriteLine("Please type \"start\" and press ENTER"); 
       while (true) 
       { 
        var userInput = Console.ReadLine(); 

        if (userInput.Equals("start")) 
        { 
         break; 
        } 
        Console.WriteLine("Not correct, please try again"); 
       } 


       var minutes = 10; 
       Console.WriteLine("Going to sleep for " + minutes + " Minutes..."); 
       Thread.Sleep(1000 * minutes * 60); 

       Console.WriteLine("Done..."); 

       Console.ReadLine(); 
      } 
+0

上部に何か「使用する」を追加する必要がありますか? – POILOI

+0

はい、必要があります:using System.Threading; –

+0

ありがとうございます – POILOI

0
//start timer 
//put this into your if statement 
Timer timer = new Timer (1000 * 60 * 10); 
timer.Elapsed += delegate (object sender, EventArgs e) 
{ 
    //do something 
    timer.Stop(); 
    timer.Dispose(); 
}; 
timer.Start(); 

これを試してみて、スレッドではないsystem.timersを使用しています。これは何かを行い、操作の終わりにそれ自身を廃棄する10分タイマを開始するはずです。

+0

ありがとうございました – POILOI

関連する問題