массив символов в c до c # - PullRequest
       8

массив символов в c до c #

1 голос
/ 06 сентября 2011

У меня есть следующий код на C, Это в основном лабиринт, где

S = начальная точка G = цель. = Открытый путь и # = тупик

char maze[6][6] = {
    "S...##",
    "#.#...",
    "#.##.#",
    "..#.##",
    "#...#G",
    "#.#..."
};

Я пытаюсь конвертировать в c #, вот моя попытка

char[,] maze = new char[6,6];

Я не знаю, как добавить двумерный массив в этот объект. в основном я хочу макет лабиринта в C #.

Я также хочу быть в состоянии получить доступ к точке в моем лабиринте, например, лабиринт [x] [y] == "S" для сравнения.

Ответы [ 3 ]

3 голосов
/ 06 сентября 2011
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

2 голосов
/ 06 сентября 2011

Решение char[,], вероятно, является тем, которое вы хотите использовать, но только для ударов, если вам просто нужно получить доступ к элементам как `maze [y] [x] ', вы можете использовать свой старый код с небольшим поворотом:

string[] maze = new []{
    "S...##",
    "#.#...",
    "#.##.#",
    "..#.##",
    "#...#G",
    "#.#..."
};

Вы должны помнить, что это массив string, а не char, но строки моделируют последовательность символов. Это не сработает, если вы намереваетесь изменить отдельные элементы (например, maze[3][2] = '.', поскольку строки неизменяемы.

0 голосов
/ 06 сентября 2011
char[,] myArray = new char[6, 6] 
{
    { 'S','.','.','.','#','#' }, 
    { '#','.','#','.','.','.' }, 
    { '#','.','#','#','.','#' }, 
    { '.','.','#','.','#','#' }, 
    { '#','.','.','.','#','G' }, 
    { '#','.','#','.','.','.' }, 
};
...