我正在编写一个程序,其中包含一些简单的游戏,例如Tik Tak Toe,等等。我制作了一个char数组,其中包含“ x”和“ o”作为圆。我做了一个for循环只是为了分配占位符。当我运行它时,它会在循环末尾加大括号,并显示“ System.IndexOutOfRangeException”。让我感到困惑的是,for循环如何超出范围。
我尝试将“ i <3”更改为“ i <2”。 即使那行得通,我还是要问,因为我不明白为什么行得通
char[,] CoC = new char[2, 2];
for (int i = 0; i < 3; i++)
{
CoC[i, 0] = 'a';
CoC[i, 1] = 'b';
CoC[i, 2] = 'c';
}
“ CoC”代表CrossOrCircle,“ a,b,c”只是占位符
答案 0 :(得分:1)
CoC
被创建为new char[2, 2]
,这意味着每个维度中只有两个元素。您需要将其初始化为更大的大小,以适应在那里的循环:
char[,] CoC = new char[3, 3];
// Here -------^--^
答案 1 :(得分:0)
char[,] CoC = new char[3, 3];
会更好,因为您需要一个[3,3]数组而不是一个[2,2]数组, 您的循环显示3x3项