考虑以下代码...
然而这会出现一个“无法等待lambda表达式”的错误。我是否遗漏了什么愚蠢的内容或者这个操作不可能实现?
List<myobject> items = dbItems.Select(x => ConvertDatabaseItem(x)).ToList();
private async Task<myobject> ConvertDatabaseItem(DataObjects.mydbobject x)
{
var item = x.ToContract();
await SetOtherInfo(item);
return item;
}
这段代码无法编译,因为我们需要等待 ConvertDatabaseItem 方法完成...
List<myobject> items = dbItems.Select(async x => await ConvertDatabaseItem(x)).ToList();
然而,这样做是行不通的,因为我们仍然需要等待异步lambda表达式,否则将会导致编译错误(List< Task< myobject >> 转换为 List< myobject >)。
List<myobject> items = dbItems.Select(await (async x => await ConvertDatabaseItem(x))).ToList();
然而这会出现一个“无法等待lambda表达式”的错误。我是否遗漏了什么愚蠢的内容或者这个操作不可能实现?