我正在将我的java游戏引擎翻译成c#。这是我的数组地图数据无效排名标识
char[][] mapdata = new char[MAP_WIDTH][MAP_HEIGHT];
``````````
它显示此错误。
无效秩指示符:预期 '' 或 ']'(CS0178) - C:\用户\ sriharshachilakapati ... NE \ Map.cs:74,39
由于
我正在将我的java游戏引擎翻译成c#。这是我的数组地图数据无效排名标识
char[][] mapdata = new char[MAP_WIDTH][MAP_HEIGHT];
``````````
它显示此错误。
无效秩指示符:预期 '' 或 ']'(CS0178) - C:\用户\ 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];
数组初始化明显缺乏形成的。当指定数组 尺寸,你可以指定以下内容:
- 在括号中的数字
- 空括号
- 逗号用括号括起来
不能初始化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];
由于它的工作。我认为这是c#和java之间的主要语法差异 –