数组,不同大小的列和行抛出IndexOutOfRangeException

时间:2016-02-15 20:49:54

标签: c# arrays

我正在编写的程序,假设是创建一个数组,读取它的大小和来自.txt文件的输入。 在新的.txt文件中打印出来,矩阵(数组)的转置和数组中的最大值。 .txt文件的内容就像一个向下的列表。前两个数字用于设置数组的大小,下面的数字是其中的数字。

代码按照我想要的方式几乎 ..到目前为止,它可以读取具有相同长度的列和行的数组 - 如5x5,8x8等。打印转置并查找最大值。

这是问题 但我需要它能够使数组大小为3x4,4x5,5x8等,并完成我上面提到的所有事情。 我尝试运行它时遇到错误System.IndexOutOfRangeException

以下是我的代码现在的样子:Full Code Example

        int column = Convert.ToInt32(sr.ReadLine()); //Reads value from txt
        int row = Convert.ToInt32(sr.ReadLine()); //Reads value from txt

        int[,] Matris = new int[row, column]; //Creates 2D array


        //For-loop for "input"
        for (int i = 0; i < column; i++)
        {
            for (int j = 0; j < row; j++) 
            {

                Matris[i, j] = Convert.ToInt32(sr.ReadLine()); //Saves values to array. HERE'S WHERE I GET THE ERROR.
            }

         }

1 个答案:

答案 0 :(得分:1)

ViewController.loadView()row已互换。像这样声明数组:

column

或交换循环中的索引。