Asynchronous programming - C#

An overview of the C# language support for asynchronous programming using async, await, Task, and Task