简单的C# 同步方法转异步方法(含有返回值的情况)

假设我们现在有一个方法叫DoWork,返回一个bool类型的值

        private bool DelayWork(){
            Thread.Sleep(5000);
            return true;
        }

现在我们要将它改成DoWorkAsync 的异步方法,可以这样改

private async Task<bool> DoWorkAsync(){
       var t = await Task.Run(DelayWork);
       return t;
}    

如果要用lambda表达式,可以这样写

private async Task<bool> DoWorkAsync(){
      bool t = await Task.Run(() =>
      {
            Thread.Sleep(5000);
             return true;
       });
       return t;
}

在vs里面可以看到,Task.Run方法,命中的是Task.Run<bool>(Func<bool> function)

posted @   弱雞人生  阅读(810)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示