有人可以向我解释为什么此代码不起作用(结果未分配给文本框的文本属性)
private async Task<string> NumToString(int num)
{
return await new Task<string>(()=>{
return num.ToString();
});
}
这是电话:
private async void button2_Click(object sender, EventArgs e)
{
// TaskScheduler context = TaskScheduler.FromCurrentSynchronizationContext();
var content = await NumToString(1);
textBox1.Text = content;
}
此外,如果我取消注释TaskScheduler行,则会触发click事件,但NumTostring(1)不会触发。
答案 0 :(得分:6)
您应该开始执行任务,而不仅仅是创建它:
private Task<string> NumToString(int num)
{
return Task.Run(() => num.ToString());
}