Async / await не реагирует должным образом

Используя приведенный ниже код, я ожидаю, что строка "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;
    }
6
задан Alexander Schmidt 18 September 2017 в 18:25
поделиться