Microsoft начиная с версии
C# 5.0 добавила
асинхронные методы.
Асинхронные методы работают параллельно с главным потоком (т.е.
асинхронные методы работают в фоновом режиме)
Асинхронные методы объявляюся как обычные методы с добавлением ключевых слов:
async,
await и использование
Task.
Механизм
async и
await встроен в компилятор. При компиляции
асинхронные методы немного преобразуются.
На заметку! Компилятор преобразовывает код программы и для
лямбда-выражений и
итераторов.
C#
async void Calculate(ref double myResult) <- Error CS1988 - Async methods cannot have ref or out parameters
{
}