【发布时间】:2014-04-17 21:34:52
【问题描述】:
我有这样的方法:
public async Task<IEnumerable<Model>> Get([FromUri]IList<string> links)
{
IList<Model> list = new List<Model>();
foreach (var link in links)
{
MyRequestAsync request = new MyRequestAsync(link);
list.Add(await request.GetResult());
}
return list;
}
但我只是想知道它是否真的是async,因为我认为list.Add(await request.GetResult()); 和return list; 打破了async 方法的性质。
如果我错了,请纠正我,如果我是对的,我该如何解决?
更新:据我了解,我必须这样做 C# 5.0 async await return a list return await Task.Run(() => new List<string>() {"a", "b"}); 但不确定如何将其应用于我的情况。
【问题讨论】:
-
我想你可能不明白异步 的真正含义。我通常建议人们从 Eric Lippert 的 blog post 开始阅读以了解
async和await关键字。
标签: c# asynchronous c#-5.0 async-await