问题理解为什么此代码挂起

时间:2019-06-15 22:27:49

标签: c# async-await

当我执行以下程序并单击button1时,程序将挂起。

private void Button1_Click(object sender, EventArgs e)
{
    a();
}
private void a()
{
    Task<bool> x = b();
    MessageBox.Show($"Succes");
}
private async Task<bool> b()
{
    bool i = await Task.Run(() => c());
    if (i == true) return true;
    return false;
}
private bool c()
{
    Thread.Sleep(1000);
    Random random = new Random();
    int x = random.Next(0, 50);
    if (x > 24) return true;
    return false;
}

我真的不明白为什么我的程序被阻止了。您能提供一些帮助吗?

0 个答案:

没有答案