为了账号安全,请及时绑定邮箱和手机立即绑定

C# 异步方法

C# 异步方法

C#
蛊毒传说 2018-07-01 07:10:44
在写基于任务的异步方法,遇到关于async、await的问题。如下,写2个函数。F1()、F2(),差别是F1有async修饰。问题1:  为何F1有async修饰,就不需要return值了?而F2却提示我没有返回值?  据我所知,async的作用是为了函数内能用await,是个编译器功能,并没有其它什么功能了啊。问题2:    明明 t 是异步执行的,为何提示却说是同步执行??问题3:  我给F2加了返回值,又写了个F3,请问F2和F3现在是不是一样的?? 异步方法到底要怎么写呢????async Task F(),才是异步方法?Task F(),只是返回一个Task的普通方法?
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

异步是要有操作的异步.像你这种写法没有任何意义.

一般有意义的异步是1.无须等待结果的并行运算.2.IO操作(数据库/文件系统/网络请求)的异步等待

你的问题 1. 这个是语法.不要问为什么.语法就是这样  2.因为你没有等待其他异步操作.整个方法自然是同步的.

3.当然不一样.代码都不一样了.  总的来说:你想太多了.


查看完整回答
反对 回复 2018-08-15
  • 1 回答
  • 0 关注
  • 622 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信