gpt4 book ai didi

c# - 如何计算 Linq 查询中一系列整数的运行总和?

转载 作者:太空狗 更新时间:2023-10-29 22:03:16 25 4
gpt4 key购买 nike

我正在尝试提出一个 linq 查询来转换 IEnumerable<int>到另一个IEnumerable<int> ,其中结果中的每个整数都是从初始列表到该位置的所有整数的总和:

给定int[] a
我需要 int[] b
在哪里b[0] = a[0], b[1] = a[0] + a[1], b[2] = a[0] + a[1] + a[2]等等

或者,上面的总和可以写成 b[1] = b[0] + a[1], b[2] = b[1] + a[2]等等,但我看不出这会有什么帮助。

当然,我可以用 for 来做到这一点循环,但我从查询中获得了 a[] 序列,我认为如果我继续该查询而不是突然添加一个 for 会更好看。那里:)

最佳答案

嗯,你可以很容易地做到有副作用,虽然它很恶心......

int sum = 0;
int[] b = a.Select(x => (sum += x)).ToArray();

如果框架提供一种“运行聚合”来封装它,那就太好了,但据我所知,它并没有。

关于c# - 如何计算 Linq 查询中一系列整数的运行总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1184812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com