gpt4 book ai didi

c# - 如何使用 LINQ 对未知数量数组的元素求和?

转载 作者:行者123 更新时间:2023-11-30 14:44:55 30 4
gpt4 key购买 nike

我有一个相同大小的数值数组列表。是否可以在不使用 for 循环的情况下计算第 1、2、...、n 个元素的总和?

这是我使用循环执行此操作的代码:

static void Main(string[] args)
{
List<int[]> list = new List<int[]>();
int n = 4;
list.Add(new int[] { 1, 2, 3, 4 });
list.Add(new int[] { 5, 6, 6, 7 });
list.Add(new int[] { 8, 9, 10, 11 });

int[] sum = new int[n];
foreach (int[] array in list)
for (int i = 0; i < n; i++)
sum[i] += array[i];
foreach (int value in sum)
Console.Write($"{value} ");
Console.Read();
}

最佳答案

var sum = list[0].Select((value, i) => list.Sum(sublist => sublist[i]));

需要对空的 list 进行特殊处理。

解释:

sublist => sublist[i]

给定一个 子列表(即数组之一),这将选择第 i 个元素。

list.Sum(sublist => sublist[i])

此查询计算单个数字,它是 list 的子列表的所有第 i 元素的总和。

list[0].Select((value, i) => list.Sum(sublist => sublist[i]))

这将为 list[0] 中的每个条目选择一个数字。该数字是子列表中所有第 i 个条目的总和。

关于c# - 如何使用 LINQ 对未知数量数组的元素求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717145/

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