Asynchronous functions make asynchronous programming similar to synchronous programming. You can read my previous post on C# 5.0 features. Normal methods can written as asynchronous as shown below
You can call the method as await Demo();
Lambda Expressions and anonymous methods can be preceded by the async word.
You can call the method as await Ldemo();
Asynchronous Lambda expressions can also be used in attaching event handlers: