排名说明符无效

时间:2015-01-13 18:14:56

标签: xna xna-4.0

我正在尝试使用基于图块的地图创建一个地牢爬虫。但是,在创建切片阵列时出现错误。 (现在,Tile是一个只有空构造函数的类。)

class Map
{
    Tile[][] Tiles;
    static const int DefaultWidth = 640, DefaultHeight = 480;
    Random rnd;

    public Map(int? Width, int? Height, int? seed)
    {
        Tiles = new Tile[((Width == null) ? DefaultWidth : (int)Width)]
        //This line gives the error "invalid rank specifier: expected ',' or ']'" after the first bracket
            [((Height == null) ? DefaultHeight : (int)Height)];
        Generate();
    }

    void Generate()
    {

    }
}

为什么我收到此错误?

1 个答案:

答案 0 :(得分:0)

在C#中,实例化2D数组的正确方法是使用逗号代替:

int[,] array = new [3,2];

您仍然可以创建int[][]之类的数组,但是您需要使用for循环来创建其中的每个单独数组(可以是不同长度),这称为锯齿状阵列。但是,我建议使用逗号语法,因为它在C#中是惯用的,并且是预期的处理方式。