相关疑难解决方法(0)

你必须把Task.Run放在一个方法来使其异步?

我试图以最简单的形式理解异步等待.我想创建一个非常简单的方法,为了这个例子添加两个数字,被授予,它根本没有处理时间,这只是在这里制定一个例子的问题.

例1

private async Task DoWork1Async()
{
    int result = 1 + 2;
}
Run Code Online (Sandbox Code Playgroud)

例2

private async Task DoWork2Async()
{
    Task.Run( () =>
    {
        int result = 1 + 2;
    });
}
Run Code Online (Sandbox Code Playgroud)

如果我等待DoWork1Async()代码将同步或异步运行?

我是否需要包装同步代码Task.Run以使方法等待和异步,以便不阻止UI线程?

我试图弄清楚我的方法是否是一个Task或返回Task<T>我是否需要包装代码Task.Run以使其异步.

愚蠢的问题我很确定,但是我在网上看到人们正在等待代码中没有任何异步并且未包含在Task.Run或中的示例StartNew.

c# async-await c#-5.0 .net-4.5

288
推荐指数
3
解决办法
29万
查看次数

标签 统计

.net-4.5 ×1

async-await ×1

c# ×1

c#-5.0 ×1