我正在尝试将flash代码转换为c#。我不熟悉flash,所以我遇到了一些问题。我已经解决了所有问题,但这是因为我不明白是什么。
private var map:Array<Array<Tile> = new Array<Array<Tile>>();
这是列表清单吗?它像二维数组一样使用,但我不认为这是一个数组。
示例:
for (x in 0...Main.MAP_WIDTH) {
map[x] = new Array<Tile>();
for (y in 0...Main.MAP_HEIGHT) {
// initialize a new tile
map[x][y] = new Tile(Tile.DARK_WALL, true, true);
// set location of tile based on array values
map[x][y].setLoc(x, y);
// add tile as a child so it will display
addChild(map[x][y]);
}
}
答案 0 :(得分:1)
这是列表清单吗?
是。它是。在c#中它将是
private List<List<Tile>> map = new List<List<Tile>>();
对于访问数组元素的方式存在差异(至少在c#中)。如果你做了一个多维数组,它将如下所示:
string[,] map2 = new string[2, 3];
map2[1, 3] = "aa";
使用列表,因为一个数组是另一个数组的“成员”(松散的术语),每个数组都必须在它自己的括号中。
map[2][4] = SomeTile();