C# “数组错误”;无效的秩说明符:应为'';或';]&引用;
我正在做作业。我被指派创建一个Tic-Tac-Toe应用程序,我已经完成了它,但有一个小错误,我想我忽略了一些东西,但我无法理解它,需要一些新的眼睛来检查它,因为我认为我看它太久了,错过了一个大概念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 (
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]好的,我来试试。非常感谢您的帮助。我已将数字[]更改为数字[I,j],但在第4行,“长度”给了我一个错误,我不太确定如何修复它。对不起,我对C#很陌生,有很多东西要学。这是它给出的错误“错误1'int'不包含'Length'的定义,并且找不到接受第一个'int'类型参数的扩展方法'Length'(是否缺少using指令或程序集引用?)
int[][] numbers = new int[3][]
{
new int[3],
new int[3],
new int[3]
};