gpt4 book ai didi

c# - 如何对数组列表<>求和

转载 作者:可可西里 更新时间:2023-11-01 08:06:53 26 4
gpt4 key购买 nike

我有一个 List< int[] > myList,其中我知道所有 int[] 数组的长度都相同——为了论证,假设我有 500 个数组,每个数组的长度为 2048 个元素。我想对所有 500 个数组求和,得到一个 2048 个元素长的数组,其中每个元素是所有其他数组中所有相同位置的总和。

显然这在命令式代码中是微不足道的:

int[] sums = new int[myList[0].Length];
foreach(int[] array in myList)
{
for(int i = 0; i < sums.Length; i++)
{
sums[i] += array[i];
}
}

但我想知道是否有很好的 Linq 或 Enumerable.xxx 技术?

最佳答案

编辑:哎哟......当我不注意时,这变得有点困难。不断变化的需求可能是真正的 PITA。

好的,所以取数组中的每个位置,然后求和:

var sums = Enumerable.Range(0, myList[0].Length)
.Select(i => myList.Select(
nums => nums[i]
).Sum()
);

这有点丑……但我认为声明版本会更糟。

关于c# - 如何对数组列表<>求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311710/

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