我有一个相同大小的数字数组的列表。是否可以在不使用for循环的情况下计算其第一,第二,...,第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]
给定一个sublist
(即数组之一),这将选择i
-th个元素。
list.Sum(sublist => sublist[i])
此查询计算单个数字,该数字是i
的子列表的所有元素的总和list
。
list[0].Select((value, i) => list.Sum(sublist => sublist[i]))
这会为中的每个条目选择一个数字list[0]
。该数字是i
子列表中所有第-个条目的总和。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句