C# await标识符的问题

QQ图片20191017103626.png

为什么await创建的异步可以用int类型的变量直接接收??
而如果没有用await创建,
Task<int> i=Task.Run(()=>1);

必须用Task<int>接收????

回答:

Task<T> task;

T ret = task.GetAwaiter().GetResult();

T ret = await task;

两者等效,await 相当于语法糖,你就这么理解吧。

(语法上等效,但其实背后的机制不一样,但从你提的问题来看说多了你更懵逼,以后用的多了可以看看 async/await 的 IL 原理)

以上是 C# await标识符的问题 的全部内容, 来源链接: utcz.com/p/190516.html

回到顶部