有人可以向我解释为什么这段代码不起作用(结果没有分配给文本框的文本属性)
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)不会触发.
您应该启动任务,而不仅仅是创建它:
private Task<string> NumToString(int num)
{
return Task.Run(() => num.ToString());
}
Run Code Online (Sandbox Code Playgroud)