C# 交错数组初始化和赋值

C# 交错数组初始化和赋值,c#,arrays,textbox,C#,Arrays,Textbox,正在开发一个“寻找岛屿”游戏程序。将读取用户的行数和列数,并使用char[][]数组创建游戏地图。问题是,虽然它编译并分配第一个字符没有问题,但之后我得到一个IndexOutfrange异常,必须终止程序。代码片段发布在下面,并标记了有问题的行。我该如何解决这个问题 char[][] Waves = new char[Rows + 1][]; for (int counter = 0; counter < Rows+1; counter++) W

正在开发一个“寻找岛屿”游戏程序。将读取用户的行数和列数,并使用char[][]数组创建游戏地图。问题是,虽然它编译并分配第一个字符没有问题,但之后我得到一个IndexOutfrange异常,必须终止程序。代码片段发布在下面,并标记了有问题的行。我该如何解决这个问题

 char[][] Waves = new char[Rows + 1][];

        for (int counter = 0; counter < Rows+1; counter++)
            Waves[counter] = new char[Columns];

        MapRows = Rows;
        MapCols = Columns;

        for (int c = 0; c < Rows; c++)
        {
            for (int d = 0; d < Columns; d++)
            {
                if (c == 0 && d == 0)
                    Waves[c][d] = 'X';
                else if (c == 0)
                    Waves[c][d] = (char)d;  // Offending line here
                else if (d == 0)
                    Waves[c][d] = (char)c;
                else
                    Waves[c][d] = '~';
            }            
        }

其次,我计划将地图打印到一个只读文本框中,这一点就不那么重要了。在结束该行并打印下一行字符之前,如何将其写入文本框,在文本框中打印数组中的一行字符?for循环很容易,但要打印就不容易了。

看看前3行。你混淆了行和列。不,不是真的。这样,如果列和行是不同的整数,那么每个数组中将有x行字符数组和y列。编辑:找到你真正的意思,而不是显而易见的。修正。将列设置为10,行设置为20,我想你会明白我的意思。你不应该为了修正而改变你的问题。这样一来,给出的答案就变得毫无意义了。我不常用。不会再发生了。
X123
1~~~
2~~~
3~~~