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