我有一个 int 值列表,如下所示(上限和下限是动态的)
1, 2, 3
4, 6, 0
5, 7, 1
我想像这样垂直计算列值
1 + 4 + 5 = 10
2 + 6 + 7 = 15
3 + 0 + 1 = 4
预期结果 = 10,15,4
任何帮助将不胜感激
谢谢
深普
最佳答案
这里是使用数组文字的输入数据,但后续代码在数组或列表上的工作方式完全相同。
var grid = new []
{
new [] {1, 2, 3},
new [] {4, 6, 0},
new [] {5, 7, 1},
};
现在生成一个序列,每列有一个项目(取最短行中的元素数),其中项目的值是行[列]值的总和:
var totals = Enumerable.Range(0, grid.Min(row => row.Count()))
.Select(column => grid.Sum(row => row[column]));
打印:
foreach (var total in totals)
Console.WriteLine(total);
关于C# 垂直计算 List<int> 值中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3052140/