You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何用Linq按列求和List<List<int>>的元素?

用LINQ实现二维整数列表按列求和

当然可行,用LINQ能直接替代繁琐的for循环和判断,核心逻辑一行就能搞定。

假设你的二维列表定义如下:

var matrix = new List<List<int>>
{
    new List<int> {2,4,4,2,5},
    new List<int> {1,3,6,3,8},
    new List<int> {0,3,9,0,0}
};

核心实现代码:

// 先做空值判断,避免空引用异常
if (!matrix.Any() || matrix.First().Count == 0)
{
    return new List<int>();
}

// 生成按列求和的结果
var columnSums = Enumerable.Range(0, matrix.First().Count)
    .Select(columnIndex => matrix.Sum(row => row[columnIndex]))
    .ToList();

逻辑说明:

  • Enumerable.Range(0, matrix.First().Count)生成所有列的索引(因为每行元素数量一致,直接取第一行的元素个数即可)
  • 对每个列索引,调用Sum方法累加所有行对应位置的元素值
  • 最终转成List<int>就是预期的[3, 10, 19, 5, 13]

如果能确保二维列表非空且每行都有元素,前面的空判断也可以省略,直接写核心LINQ语句即可。

内容的提问来源于stack exchange,提问作者Reyneer Leon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:31:08