Windows窗体中的异步任务不返回结果

use*_*870 0 c# async-await

有人可以向我解释为什么这段代码不起作用(结果没有分配给文本框的文本属性)

private async Task<string> NumToString(int num)
{

  return await new Task<string>(()=>{
     return  num.ToString();

     });
}
Run Code Online (Sandbox Code Playgroud)

这是电话:

 private async void button2_Click(object sender, EventArgs e)
        {
           // TaskScheduler context = TaskScheduler.FromCurrentSynchronizationContext();
            var content = await NumToString(1);
          textBox1.Text = content;

        }
Run Code Online (Sandbox Code Playgroud)

此外,如果我取消注释TaskScheduler行,则会触发click事件,但NumTostring(1)不会触发.

max*_*max 6

您应该启动任务,而不仅仅是创建它:

private Task<string> NumToString(int num)
{
    return Task.Run(() => num.ToString());
}
Run Code Online (Sandbox Code Playgroud)