C# “数组错误”;无效的秩说明符:应为'';或';]&引用;

C# “数组错误”;无效的秩说明符:应为'';或';]&引用;,c#,visual-studio-2012,compiler-errors,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 (

我正在做作业。我被指派创建一个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.

错误在第二行。也许我做了int[]number=新int[];格式错误?请帮我找出它出了什么问题。谢谢。

在声明阵列时请尝试以下操作:

int [,] numbers = new int[3,3];
您还需要更改对阵列的访问:

numbers[i,j] = r.Next(2);
要迭代数组,可以使用
numbers.GetLength(index)
方法,而不是
numbers.Length
numbers[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]
                   };

看起来像C。那是新的int[3,3]。对不起,我把它编辑成C。我打错了。是的,我以前也尝试过,它给sme带来了相同的错误:“错误1无法将类型'int[,]'隐式转换为'int[][]”不确定现在该怎么办。请帮忙。好吧,那你就给数字[i,j]编索引。您不能使用
数字[i].Length
。您还可以使用数组数组,
int[][]numbers=newint[3][]
用于(整数i=0;i<3;++i)数字[i]=新整数[3] int[][] numbers = new int[3][] 
                   {   
                       new int[3],
                       new int[3],
                       new int[3]
                   };