2017-07-28 11 views
0
static void Main(string[] args) 
{ print(); } 

static async void print() 
{ 
    try 
    { 
     await Task.Factory.StartNew(() => 
     { 
      Thread.Sleep(3000); 
      Console.WriteLine("3"); 
      Debug.Write("3"); 
     }); 
    } 
    catch (Exception) 
    { } 
    Console.Read(); 
} 

コンソールがエラーを起こさずに発生します!C#待ちタスクコンソールスプラッシュ

答えて

0

printメソッドが並行して呼び出されるため、mainが続き、何もする必要がないので、それが返されます。 mainが終了した後、プログラムは終了します。

static void Main(string[] args) 
{ print().Wait(); } 

static async Task print() {...} 
:あなたはそれは、 print方法を待つことはなく voidTaskを返すように変更してから Main方法でそのタスクを待ちたい場合は