结构数组返回错误

时间:2011-12-26 12:19:51

标签: c# arrays struct

我有以下代码:

static int gridX = 40;
static int gridY = 40;

public struct CubeStruct
{
    public Transform cube;
    public bool alive;
    public Color color;
}

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY];

这会返回以下错误:

  

错误CS1519:类,结构或接口中的意外符号`,'   成员声明

     

错误CS0178:无效的排名说明符:预期,' or]'

     

错误CS1519:意外的符号`;'在类,结构或接口中   成员声明

这可能是显而易见的,但我看不到它。

4 个答案:

答案 0 :(得分:5)

在C#中,[,]位于变量名称之前(即它与C / C ++不同)。

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY];

答案 1 :(得分:5)

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY];

应该是:

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY];

答案 2 :(得分:3)

在C#中,没有任何东西可以在Type之外浮动。所以你需要这样做:
另请注意,[,]位于类型之后,而不是标识符之后。

public class GridMain
{
    static int gridX = 40;
    static int gridY = 40;
    public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY];

}

public struct CubeStruct
{
    public Transform cube;
    public bool alive;
    public Color color;
}

答案 3 :(得分:2)

变化:

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY];

为:

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY];