我写了下面的代码,
Task.Factory.StartNew<int>(async () =>
{
await Task.Delay(1000);
return 42;
});
但是 read 行出现在“async”关键字下,并且由于某些语法错误而无法编译代码,有人可以告诉我该怎么做吗?
多谢!
我写了下面的代码,
Task.Factory.StartNew<int>(async () =>
{
await Task.Delay(1000);
return 42;
});
但是 read 行出现在“async”关键字下,并且由于某些语法错误而无法编译代码,有人可以告诉我该怎么做吗?
多谢!
您可能想要使用Task.Run
,它具有更自然的async
lambda 语法:
var task = Task.Run(async () =>
{
await Task.Delay(1000);
return 42;
});
您必须返回 a Task<T>
,如下所示:
Task.Factory.StartNew<Task<int>>(async () =>
{
await Task.Delay(1000);
return 42;
});
关键字需要async
返回,Task
或。阅读有关它的更多信息:异步(C# 参考)。Task<T>
void