Используя приведенный ниже код, я ожидаю, что строка "Finished" появится перед "Ready" на консоли. Может ли кто-нибудь объяснить мне, почему await не будет ждать завершения задачи в этом примере?
static void Main(string[] args)
{
TestAsync();
Console.WriteLine("Ready!");
Console.ReadKey();
}
private async static void TestAsync()
{
await DoSomething();
Console.WriteLine("Finished");
}
private static Task DoSomething()
{
var ret = Task.Run(() =>
{
for (int i = 1; i < 10; i++)
{
Thread.Sleep(100);
}
});
return ret;
}