我写了下面的代码,
Task.Factory.StartNew<int>(async () =>
{
await Task.Delay(1000);
return 42;
});但是read行出现在"async“关键字下,由于一些语法错误导致代码无法编译,有人能建议我怎么做吗?
非常感谢!
发布于 2012-10-22 22:33:27
您可能希望使用Task.Run,它具有更自然的async lambda语法:
var task = Task.Run(async () =>
{
await Task.Delay(1000);
return 42;
});发布于 2012-10-22 22:19:58
您必须返回一个Task<T>,如下所示:
Task.Factory.StartNew<Task<int>>(async () =>
{
await Task.Delay(1000);
return 42;
});async关键字需要返回Task、Task<T>或void。阅读更多关于它的内容:async (C# Reference)。
https://stackoverflow.com/questions/13012504
复制相似问题