for(int k=0;k <= odds.GetLength(-1);k++)

上面的代码行应该遍历Double类型的二维数组,但仍会引发以下异常。索引超出范围异常。有人会友好地解释原因并提供解决方案。非常感谢。

最佳答案

您正在将无效索引传递给 GetLength 。多维数组的维是基于0的,因此-1无效,使用负数(或大于维数的数字-1)将导致IndexOutOfRangeException

这将遍历第一个维度:

for (int k = 0; k < odds.GetLength(0); k++)

您需要添加另一个循环来遍历第二个维度:
for (int k = 0; k < odds.GetLength(0); k++)
    for (int l = 0; l < odds.GetLength(1); l++)
        var val = odds[k, l];

关于c# - 遍历二维数组C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8184306/

10-09 17:06