C# 垂直计算 List<int> 值中的项目

标签 c#

我有一个 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/

相关文章:

c# - 如何将此递归代码转换为 Linq

c# - 在代码隐藏中设置SqlDataSource的插入参数值

c# - Linq to EF .Clear() 不清除

c# - 在 Bond 中表示 C# TimeSpan

C# for 循环,通过用户指定的数字给出 i/(i+1) 的总和

c# - 发送邮件 Asp.Net 时出现 "Authentication failed"错误

c# - 如何备份更新的源代码文件

c# - 条件 Lambda 表达式?

c# - 在 C# 中通过引用传递属性

c# - LINQ - 使用选择 - 理解选择