我被困在一些我认为很简单的事情上,这让我无法自拔。
我需要在某个时候声明一个任务并稍后运行它,我想到了:
Task T1 { get; set; }
public async Task CreateAndAwaitAsync()
{
T1 = new Task(() => {
// time consuming work like:
System.Threading.Thread.Sleep(1000);
}
await T1;
}
Run Code Online (Sandbox Code Playgroud)
当然,lambda 的主体和方法只是为了这个例子(正如我所说的,我需要稍后运行它),但无论如何,await T1我就是无法进入 lambda!我错过了什么??我觉得很愚蠢,因为我已经使用 async-await 范式好几年了,我什至没有想到这行不通!