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

如何计算二维数组单行元素和?新手遇数组越界错误

问题分析与解决

你遇到的“索引超出数组界限”错误,核心是用错了数组长度的获取方式:

  • 你的SalesArray是[2,7]的二维数组,SalesArray.Length返回的是总元素个数(2×7=14),但你要遍历的是该行的列数(7列,索引范围0-6)。当循环到index=7时,就超出了列的索引范围,触发报错。

修正后的代码

private double findDrinkSum()
{
    // 方法内部初始化总和变量,避免外部残留值影响结果
    double weekDrinkSales = 0;
    // 获取数组的列数:GetLength(1)表示第二维度(列)的长度
    int columnCount = SalesArray.GetLength(1);
    
    for(int index = 0; index < columnCount; index++)
    {
        weekDrinkSales += SalesArray[DRINK_ROW, index];
    }

    return weekDrinkSales;
}

关键知识点补充

  • 二维数组的GetLength(n)方法:n=0获取第一维度(行数),n=1获取第二维度(列数),这是遍历二维数组某一行/列的正确方式。
  • 总和变量建议在方法内部初始化,确保每次调用方法都是从0开始累加,不会因为之前调用的残留值导致结果错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:21:12