我的目标是制作一个三重for循环来乘以矩阵X矩阵,我输入矩阵,我必须得到矩阵^ 2。
我收到错误“IndexOutOfRangeException” - 当我调试以下代码时,索引超出了数组的范围:
for (int i = 1; i < nodeList.Count+1; i++)
{
for (int j = 1; j < nodeList.Count+1; j++)
{
result[i, j] = "0";
for (int k = 1; k < nodeList.Count+1; i++)
{
if ((matrix[i, k] != null) && (matrix[k, j] != null))
{
n1 = Convert.ToInt32(matrix[i, k]);
n2 = Convert.ToInt32(matrix[k, j]);
n3 = Convert.ToInt32(result[i, j]);
total = n3 + n1 * n2;
_total = total.ToString();
result[i, j] = _total;
}
}
}
}
其中变量是: 1. 类型为 String[,] 的矩阵,维度为 (nodelist+1,nodelist+1) 2.result 与矩阵的类型和维度相同,我想将结果放在其中矩阵 3.nodelist 是我在图 4 中拥有的节点名称的数组。n1、n2、n3 是 int,我将矩阵 5.total 中的转换 int 放入其中。乘法 6._total 将结果矩阵的总 int 转换为总字符串
所以我为每个数组和矩阵设置了正确的维度,但我总是得到同样的错误。我不明白为什么。可以请人帮助注意错误,因为我没有看到它。