数组错误错误“无效的排名说明符:预期','或']”

时间:2013-03-31 21:29:48

标签: c# visual-studio-2012 compiler-errors

我正在做作业。我被指派创建一个Tic Tac Toe应用程序,我已经完成了它但是有一个小错误,我想我忽略了一些东西,但我无法弄清楚它需要一些新的眼睛来检查它,因为我我想我已经看了太长时间并错过了一个大概念。

        Random r = new Random();//Creates the number generator.
        int [][] numbers = new int [3][3]; //creates a 3x3 integer grid.
        for (int i = 0; i< numbers.Length; i++){
        for (int j=0;j<numbers[i].Length;j++){
        numbers[i][j] = r.Next(2);//Traverses the array and inputs a number between 0 and 1 here.

}   }

        Console.WriteLine("%d|%d|%d\n",numbers[0][0],numbers[0][1],numbers[0][2]);

        Console.WriteLine("------");
        Console.WriteLine("%d|%d|%d\n",numbers[1][0],numbers[1][1],numbers[1][2]);

        Console.WriteLine("------");
        Console.WriteLine("%d|%d|%d\n",numbers[2][0],numbers[2][1],numbers[2][2]);

错误在第二行。也许我做了int [] [] numbers = new int [] [];格式错了?请帮我弄清楚它有什么问题。谢谢。

1 个答案:

答案 0 :(得分:1)

在声明数组时尝试此操作:

int [,] numbers = new int[3,3];

您还需要更改对数组的访问权限fx:

numbers[i,j] = r.Next(2);

要迭代数组,您可以使用numbers.GetLength(index)方法而不是numbers.Lengthnumbers[i].Length

在你的情况下,它会是这样的:

for (int i = 0; i < numbers.GetLength(0); i++)
{
    for (int j = 0; j < numbers.GetLength(1); j++)
    {
        ...

编辑:如果你真的想继续使用你的数组(也称为锯齿状数组),你可以像这样初始化它:

 int[][] numbers = new int[3][] 
                   {   
                       new int[3],
                       new int[3],
                       new int[3]
                   };