У меня есть следующий код на C, Это в основном лабиринт, где
S = начальная точка G = цель. = Открытый путь и # = тупик
char maze[6][6] = { "S...##", "#.#...", "#.##.#", "..#.##", "#...#G", "#.#..." };
Я пытаюсь конвертировать в c #, вот моя попытка
char[,] maze = new char[6,6];
Я не знаю, как добавить двумерный массив в этот объект. в основном я хочу макет лабиринта в C #.
Я также хочу быть в состоянии получить доступ к точке в моем лабиринте, например, лабиринт [x] [y] == "S" для сравнения.
char[,] maze = new char[6,6] { {'a','b','c','d','e','f'}, {'g','h','i','j','k','l'}, {'a','b','c','d','e','f'}, {'a','b','c','d','e','f'}, {'a','b','c','d','e','f'}, {'a','b','c','d','e','f'} };
Edit: http://msdn.microsoft.com/en-us/library/2yd9wwz4%28v=vs.71%29.aspx
Решение char[,], вероятно, является тем, которое вы хотите использовать, но только для ударов, если вам просто нужно получить доступ к элементам как `maze [y] [x] ', вы можете использовать свой старый код с небольшим поворотом:
char[,]
string[] maze = new []{ "S...##", "#.#...", "#.##.#", "..#.##", "#...#G", "#.#..." };
Вы должны помнить, что это массив string, а не char, но строки моделируют последовательность символов. Это не сработает, если вы намереваетесь изменить отдельные элементы (например, maze[3][2] = '.', поскольку строки неизменяемы.
string
char
maze[3][2] = '.'
char[,] myArray = new char[6, 6] { { 'S','.','.','.','#','#' }, { '#','.','#','.','.','.' }, { '#','.','#','#','.','#' }, { '.','.','#','.','#','#' }, { '#','.','.','.','#','G' }, { '#','.','#','.','.','.' }, };