私はこの単体テストを実行しましたが、「await Task.Delay()」が待機しない理由がわかりません!
[TestMethod]
public async Task SimpleTest()
{
bool isOK = false;
Task myTask = new Task(async () =>
{
Console.WriteLine("Task.BeforeDelay");
await Task.Delay(1000);
Console.WriteLine("Task.AfterDelay");
isOK = true;
Console.WriteLine("Task.Ended");
});
Console.WriteLine("Main.BeforeStart");
myTask.Start();
Console.WriteLine("Main.AfterStart");
await myTask;
Console.WriteLine("Main.AfterAwait");
Assert.IsTrue(isOK, "OK");
}
ユニットテストの出力は次のとおりです。
これはどのようにして「待機」が待機せず、メインスレッドが継続するのでしょうか。
Task.Run()
最初の後で使ってみませんConsole.WriteLine
か?