我有以下问题:
foo f = new foo();
// ...
f.bars.SelectMany(m => m.qux.GroupBy(x => x.hash))
.Select(group => group.First())
.Sum(s => s.size);
这会返回单栏实例中size
的{{1}}总属性的总和。在另一个qux
中添加具有现有qux
值的另一个hash
对象将被忽略,因此其bar
值将计入计算总和中。 (即使在另一个size
对象中存在相同的qux
)。
如何调整查询以确保所有具有相同bar
的对象都计算一次?
数据结构如下所示:
hash
答案 0 :(得分:0)
从您的数据结构来看,这就是您所需要的:
UpdatePanel
与您的初始解决方案的不同之处在于,我们首先获得包含int sizeSum =
bars.SelectMany(m => m.qux)
.GroupBy(q => q.hash)
.Select(g => g.First())
.Sum(q => q.size);
的统一列表,然后 我们将其按.SelectMany()
分组。