Possible Duplicate:
Why does the async keyword exist
In the C# 5 – await and async combination – I understand the await instruction. But why should I write the async instruction? Shouldn’t the compiler be able to automatically detect all async method?
As I stated on my blog, this was considered but rejected.
To summarize: a single-word
awaitkeyword would be too big of a breaking change. The choice was between a multi-wordawait(e.g.,await for) or a keyword on the method (async) that would enable theawaitkeyword just within that method. Explicitly marking methodsasyncis easier for both humans and computers to parse, so they decided to go with theasync/awaitpair.See also Eric Lippert’s post, these blog comments, this Channel9 discussion, this forum question, and this SO question.