async Task<int> Calculate1()返回值为什么既是int又是task?

来源:14-11 【操作】Await async 真香

2227181

2023-06-06

var result1 = await Calculate1();,鼠标放到result1上,VS会提示它是int。
Calculate1().Wait(); ,Wait()是Task的方法,Calculate1()的返回值又成了Task。
C#是如何通过Task把一个函数的返回值表现为int和task两种形式的?请老师指点一下,谢谢。

写回答

1回答

阿莱克斯刘

2023-06-27

主要看你怎么调用,在调用的时候

如果你不使用await, 那么它返回task

但如果你加上await,如: var ddd = await Calculate() ,那么它的返回值为int。

这是c#的语言特性所决定的。

0
0

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

870 学习 · 200 问题

查看课程