Net Core教程

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

本文主要是介绍简单的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)

这篇关于简单的C# 同步方法转异步方法(含有返回值的情况)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!