【发布时间】:2018-08-10 00:26:36
【问题描述】:
我有一个在 .NET 4.6.1 上运行的 ASP.NET 应用程序。
我无法在等待的GetInts() 结果中使用.Sum()。编译器认为GetInts() 是一个任务。 SumIntsOneLinerBroker() 无法编译。
public Task<List<int>> GetInts() {
var list = new List<int> { 4, 5 };
return Task.FromResult(list);
}
public async Task<int> SumInts() {
var ints = await GetInts();
return ints.Sum();
}
public async Task<int> SumIntsOneLinerBroker() {
return await GetInts().Sum();
}
public async Task<int> SumIntsOneLinerWorking() {
return (await GetInts()).Sum();
}
【问题讨论】:
-
括号是一直以来的工作方式
-
我相信你的话,谢谢。将此标记为已关闭。
-
不要张贴代码作为屏幕截图。请简单地复制并粘贴它。这样搜索引擎可以索引你的帖子,其他人可以通过搜索找到它,人们可以复制和粘贴代码,它使用更少的流量,列表还在继续。谢谢!
-
@DJKempner - 请不要发布屏幕截图 - 我们需要 minimal reproducible example 以便我们可以运行您的代码并给您一个体面的答案。请将代码以文本形式发布。
-
如果不使用括号,你的await定义为
await (GetInts().Sum()),当然不能编译
标签: c# asp.net .net async-await