A powerful new feature has been added for asynchronous programming in C# language 5.0. This new feature comes in the form of two new keywords—
await—which are used to make the synchronous method asynchronous. When you use these two keyword in your method, the C# compiler performs a transformation of your method code to generate the appropriate code, such as stub method and state machine, to do the asynchronous operation behind the scenes. This new feature makes asynchronous programming much easier than the exiting asynchronous pattern used in .NET.
This chapter will define the basics of synchronous and asynchronous ...