Ответы с форумов MSDN

Как работает await Task.Delay в .NET?

Date: 16.05.2019 5:10:56

Да вроде так же, как и в основной части тела метода. Вызов await Task.Delay транслируется, упрощенно говоря, в последовательность вызовов Task.Delay, Task.GetAwaiter и AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted (или AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted) внутри метода MoveNext асинхронного конечного автомата. Подробный разбор есть здесь: http://sonyks2007.blogspot.com/2015/01/async-await-c-60.html

Что до онлайн-эмуляторов, могу предположить, что они используют старые версии Linux, и, вследствие этого, старые версии компилятора Mono. Например, https://dotnetfiddle.net в режиме Roslyn 2.0 поддерживает эту возможность.


Автор: VadimTagil

Главная страница - Список тем - Репозиторий на GitHub