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

C#如何使用for循环对二维矩阵中的指定选中元素进行求和

解决方案

现有代码问题修正

你的代码存在几个基础错误需要先调整:

  • 变量名不统一:summing方法里声明的求和变量是sum,但累加时用了未定义的toplam,Main方法中输出的toplam也没有提前声明
  • 存在不可达代码:summing方法中return sum之后的Console.ReadKey()永远不会被执行
  • 语法小瑕疵:矩阵第四行末尾多了一个多余的逗号

指定元素求和实现思路

你可以给求和方法增加参数,自定义要选中的元素范围。以你需求的「第二列(1开始计数,对应数组索引为1)的3、3、5三个元素求和」为例,这三个元素分别对应行索引1、2、3的第一索引列,我们可以给方法增加targetColumn(目标列索引)、startRow(起始行索引,包含)、endRow(结束行索引,包含)三个参数,仅遍历符合范围的元素累加即可。

完整可运行代码

using System;

namespace debugginglab
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] matrix = { { 5, 4, 3, 2, 1 }, 
                              { 1, 3, 4, 6, 5 }, 
                              { 6, 3, 2, 1, 0 }, 
                              { 2, 5, 7, 11,20 }, 
                              { 13,17,19,23,25} };
            // 传参:目标列索引1(对应1开始计数的第二列),行范围为索引1到3
            int sum = Summing(matrix, targetColumn:1, startRow:1, endRow:3);
            Console.WriteLine(sum);
            Console.ReadKey();
        }

        static int Summing(int[,] m, int targetColumn, int startRow, int endRow)
        {
            int sum = 0;
            // 仅遍历指定行范围,直接取目标列的元素累加
            for (int i = startRow; i <= endRow; i++)
            {
                sum += m[i, targetColumn];
            }
            return sum;
        }
    }
}

运行后输出结果为11,符合你的预期。

扩展用法

如果需要更灵活的选中规则,可以自行调整循环逻辑和判断条件,常见场景参考:

  • 求所有奇数行的第三列元素和:遍历所有行,判断行索引为奇数时累加对应列元素
  • 求指定行的多列元素和:固定行索引,遍历指定列范围累加
  • 求满足数值条件的元素和:遍历所有元素,判断m[i,j]符合数值要求时累加

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:54:04