无效的等级标识符

本文关键字:标识符 无效 | 更新日期: 2023-09-27 17:52:17

我目前正在将我的java游戏引擎翻译成c#。这是我的数组mapdata

char[][] mapdata = new char[MAP_WIDTH][MAP_HEIGHT];
                                       ``````````

显示这个错误。

无效的等级说明符:期望的','或']' (CS0178) - C:'Users'sriharshachilakapati…ne'Map.cs:74,39

谢谢

无效的等级标识符

多维数组是这样写的:

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];
}

您正在尝试定义 multidimensional array 。下面是如何在c#中使用

char[,] mapdata = new char[MAP_WIDTH, MAP_HEIGHT];

From Compiler Error CS0178

数组初始化格式错误。当指定数组时尺寸,可以指定如下:

  • 括号内的数字
  • 空括号
  • 括号内的逗号

不能在编译时初始化锯齿数组的子分支。

你必须这样做:

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];