为什么 执行了函数Calculate1Async的await Task.Delay();之后会跳到Main之后的Calculate()之后去执行

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

I_love_love

2022-05-07

为什么 执行了函数Calculate1Async的await Task.Delay()之后会跳到Main之后的Calculate()之后去执行,而不是等待Calculate()执行完后在去执行main函数里面Calculate()之后的代码。

写回答

1回答

阿莱克斯刘

2022-05-10

你的观察非常仔细。

在原文中,Calculate只是一个普通的、返回值为void的方法,calculate方法与calculate1Async方法是异步执行的。如果想按照顺序执行,请参考下面的代码进行修改,1)把calculate方法的返回类型从void改为Task;2)在mian方法中给calculate方法加上.Wait()进行异步等待。

//img.mukewang.com/szimg/6279f36c09cb559507470469.jpg


1
0

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

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

870 学习 · 200 问题

查看课程