【问题标题】:ERROR: Index was out of range: if (formula2MatrixResult[i][j] < 0), 2D List<> in C# [duplicate]错误:索引超出范围:if (formula2MatrixResult[i][j] < 0), 2D List<> in C# [重复]
【发布时间】:2021-11-16 00:10:19
【问题描述】:

我收到一条错误消息,指出索引超出范围,我怀疑这与 Formula2 方法中的错误有关。 formuala2Matrix(formula2 方法)应该是一个 20 列乘 5 行的矩阵,我不确定这是否是我在 Formula2 方法中创建的。如果是,那么我明白了为什么我在公式 3 方法中有错误。感谢您的帮助!

【问题讨论】:

    标签: c# asp.net list


    【解决方案1】:

    Formula2 中,k 已添加到k+2

    1. k++for 循环中
    2. k++if (k == j)
    for (int k = 0; k < Alternatives_Count; k++)
    {
        if (k == j)
            k++;
        else
            formula2.Add(formula1MatrixResult[i][j] - formula1MatrixResult[i][k]);
    }
    

    如果只想添加一次,可以这样写:

    for (int k = 0; k < Alternatives_Count; k++)
    {
        if (k != j)
        {
            formula2.Add(formula1MatrixResult[i][j] - formula1MatrixResult[i][k]);
        }
    }
    

    【讨论】:

    • 非常感谢!帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2016-12-16
    • 2017-07-30
    • 1970-01-01
    相关资源
    最近更新 更多