首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.net 4.5异步语法

.net 4.5异步语法
EN

Stack Overflow用户
提问于 2012-10-22 21:29:00
回答 2查看 258关注 0票数 3

我写了下面的代码,

代码语言:javascript
复制
Task.Factory.StartNew<int>(async () =>
        {
            await Task.Delay(1000);
            return 42;
        });

但是read行出现在"async“关键字下,由于一些语法错误导致代码无法编译,有人能建议我怎么做吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 22:33:27

您可能希望使用Task.Run,它具有更自然的async lambda语法:

代码语言:javascript
复制
var task = Task.Run(async () =>
{
  await Task.Delay(1000);
  return 42;
});
票数 5
EN

Stack Overflow用户

发布于 2012-10-22 22:19:58

您必须返回一个Task<T>,如下所示:

代码语言:javascript
复制
Task.Factory.StartNew<Task<int>>(async () =>
{
    await Task.Delay(1000);
    return 42;
});

async关键字需要返回TaskTask<T>void。阅读更多关于它的内容:async (C# Reference)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13012504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档