我正在将我的java游戏引擎翻译成c#。这是我的数组mapdata
char[][] mapdata = new char[MAP_WIDTH][MAP_HEIGHT];
``````````
显示此错误。
无效的排名说明符:预期','或']'(CS0178) - C:\ Users \ sriharshachilakapati ... ne \ Map.cs:74,39
由于
答案 0 :(得分:2)
多维数组以这种方式编写:
char[,] mapdata = new char[width, height];
char[][]
是数组中的数组,使用这种方式:
char[][] mapdata = new char[width][];
for (int i = 0; i < mapdata.Length; i++)
{
mapdata[i] = new char[height];
}
答案 1 :(得分:2)
您正尝试定义 multidimensional array
。以下是C#中的内容;
char[,] mapdata = new char[MAP_WIDTH, MAP_HEIGHT];
阵列初始化不正确。指定数组时 尺寸,您可以指定以下内容:
- 括号中的数字
- 空括号
- 用括号括起来的逗号
答案 2 :(得分:2)
您无法在编译时初始化锯齿状数组的subranks。
你必须这样做:
char[][] mapdata = new char[MAP_WIDTH][];
for (int = 0; i < mapdata.Length; ++i)
mapdata[i]= new char[MAP_HEIGHT];
或者您可以改为使用多维数组:
char[,] mapdata = new char[MAP_WIDTH, MAP_HEIGHT];