2

現在、JavaゲームエンジンをC#に翻訳しています。これは私の配列mapdataです

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

このエラーが表示されます。

無効なランク指定子:予期される'、'、または']'(CS0178)-C:\ Users \ sriharshachilakapati ... ne \ Map.cs:74,39

ありがとう

4

3 に答える 3

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];
}
于 2013-01-13T10:27:01.200 に答える
2

を定義しようとしていますmultidimensional array。これがC#での方法です。

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

からCompiler Error CS0178

アレイの初期化の形式が正しくありませんでした。配列の次元を指定するときは、次のように指定できます。

  • 括弧内の数字
  • 空の角かっこ
  • 角かっこで囲まれたコンマ
于 2013-01-13T10:28:59.677 に答える
2

コンパイル時にジャグ配列のサブランクを初期化することはできません。

あなたはこのようにそれをしなければなりません:

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];
于 2013-01-13T10:29:04.887 に答える