小编Nic*_*rus的帖子

正确使用Async/Await的困惑

这是我在Windows Forms Application中实现的async/await

async Task<int> DoAysnc1()
{
    await Task.Delay(3000);
    return 3000;
}

async Task<int> DoAsync2()
{
    await Task.Delay(5000);
    return 5000;
}

private async void button1_Click(object sender, EventArgs e)
{
    this.textBox1.Text = "";
    var doAsync1 = DoAysnc1();
    var doAsync2 = DoAysnc2();
    var async1 = await doAsync1;
    var async2 = await doAsync2;
    this.textBox1.Text = $"{async1} & {async2}";
}
Run Code Online (Sandbox Code Playgroud)

5秒后,TextBox中的结果为" 3000 & 5000".

但是,当我button1_Click像这样修改:

private async void button1_Click(object sender, EventArgs e)
{
    this.textBox1.Text = "";
    var async1 = await DoAysnc1(); …
Run Code Online (Sandbox Code Playgroud)

c# concurrency async-await

3
推荐指数
1
解决办法
95
查看次数

标签 统计

async-await ×1

c# ×1

concurrency ×1