我正在尝试填写Dictionary<long, Data>
。返回数据的方法GetData
是异步的,因此我使用以下代码来获取字典:
var myDictionary = entities
.GroupBy(e => e.EntityId)
.Select(e => e.First())
.ToDictionary(e => e.EntityId, async entity => await GetData(entity));
不幸的是,myDictionary的类型为Dictionary<long, Task<Data>>
如何在ToDictionary中填写使用异步lambda?
答案 0 :(得分:0)
试试这个:
var myDictionary =
(await Task.WhenAll(entities
.GroupBy(e => e.EntityId)
.Select(e => e.First())
.Select(async e => new {e.EntityId, Data = await GetData(e)})))
.ToDictionary(e => e.EntityId, e => e.Data);