何时使用await关键字

Jam*_*mes 6 c# async-await .net-4.5

如果一个方法声明为'async',当我们调用该方法时,我们可以使用await或不使用它.我想知道何时使用它以及使用它的效果是什么.

Eri*_* J. 2

async 关键字只是向编译器指示该方法可能包含await 语句。

Eric Lippert 有一篇有趣的文章解释了设计选择

要求“异步”意味着我们可以一次性消除所有向后兼容性问题;任何包含await 表达式的方法都必须是“新构造”代码,而不是“旧工作”代码,因为“旧工作”代码从来没有async 修饰符。

http://blogs.msdn.com/b/ericlippert/archive/2010/11/11/whither-async.aspx