下面的平均需求的LINQ语法是什么.Select和SelectMany都让我失望.我可以Max()和Sum()我的内部列表,但Average()不会编译.
简单列表的JSON版本看起来像
[{"Week":6, "Matches":[{"Game":189},{"Game":149},{"Game":132}]} ....
var hiGame = games.Max(g => g.Matches.Max(m => m.Game)); // ok
var hiSeries = games.Max(g => g.Matches.Sum(m => m.Game)); // ok
var ave = games.Average(g => g.Matches.SelectMany(m => m.Game)); // no go
Run Code Online (Sandbox Code Playgroud)
用于方法"System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable,System.Func>)"类型参数不能从使用推断.尝试显式指定类型参数.
我想你想要你SelectMany在外面:
var ave = games.SelectMany(g => g.Matches) // Flatten to a sequence of matches
.Average(m => m.Game); // Average by value of Game
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |