我如何在这里使用 LINQ 聚合? [复制]

Posted

技术标签:

【中文标题】我如何在这里使用 LINQ 聚合? [复制]【英文标题】:How can i use LINQ Aggregate here? [duplicate] 【发布时间】:2015-03-27 10:08:52 【问题描述】:

我想使用 LINQ Aggregate 将以下代码优化为 1 行,但之前从未使用过 Aggregate 函数,尽管我尝试过,但我无法使其工作..

var sum = Aggregate(0.0, (group) => group.width + ????);

而不是

double sum = 0.0;
double height = 1.0;
foreach (var group in Groups)

sum = sum + group.width;


var rectPosition = new Rectangular(anchor.x, anchor.y,new BoxDimension(sum, height ));

请提供任何帮助.. 在此先感谢

【问题讨论】:

【参考方案1】:

说实话,这就够了:

var sum = Groups.Select(x => x.Width).Sum();
var sum = Groups.Sum(x => x.Width);

但是,如果你想要Aggregate():

var sum = Groups.Select(x => x.Width).Aggregate((current, next) => current += next);

【讨论】:

天哪!多么容易......对不起,今天是星期五,我已经准备好周末了! @FatGiant 不错的评论。

以上是关于我如何在这里使用 LINQ 聚合? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 linq 中使用 orderby 和 2 个字段? [复制]

LINQ 除了如何工作? [复制]

如何在不更改 RowState 属性的情况下使用 LINQ 从数据库中复制 DataTable

LINQ 按时间段聚合和分组

如何在 linq 上的数据库中搜索两个表? [复制]

如何使用 LINQ 获取索引? [复制]