最佳答案
考虑一下,
Task task = new Task (async () =>{
await TaskEx.Delay(1000);
});
task.Start();
task.Wait();
调用任务。Wait ()不会等待任务完成,下一行会立即执行,但是如果我将异步 lambda 表达式包装到方法调用中,代码会按预期工作。
private static async Task AwaitableMethod()
{
await TaskEx.Delay(1000);
}
然后(根据 Svick 的评论更新)
await AwaitableMethod();