【问题标题】:character array in c to c#c 到 c# 中的字符数组
【发布时间】:2011-09-06 02:45:43
【问题描述】:

我在 C 中有以下代码, 它基本上是一个迷宫

S=起点 G=目标 .=开放路径和#=死胡同

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

我正在尝试转换为 c#,这是我的尝试

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

我不知道如何将二维数组添加到这个对象中。基本上我想要 C# 中的迷宫布局。

我还希望能够访问我的迷宫中的一个点,例如 maze[x][y]=="S" 进行比较。

【问题讨论】:

    标签: c# c arrays char


    【解决方案1】:
    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'}
    };
    

    编辑: http://msdn.microsoft.com/en-us/library/2yd9wwz4%28v=vs.71%29.aspx

    【讨论】:

      【解决方案2】:

      char[,] 解决方案可能是您想要使用的解决方案,但如果您只需要以 `maze[y][x]' 的形式访问元素,则可以使用旧代码稍作改动:

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

      您必须记住,这是一个由string 组成的数组,而不是char,而是字符串模型的字符序列。如果您打算修改单个元素(例如 maze[3][2] = '.',因为字符串是不可变的,这将不起作用。

      【讨论】:

        【解决方案3】:
        char[,] myArray = new char[6, 6] 
        {
            { 'S','.','.','.','#','#' }, 
            { '#','.','#','.','.','.' }, 
            { '#','.','#','#','.','#' }, 
            { '.','.','#','.','#','#' }, 
            { '#','.','.','.','#','G' }, 
            { '#','.','#','.','.','.' }, 
        };
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-11-25
          • 2014-06-22
          • 1970-01-01
          • 2011-10-25
          相关资源
          最近更新 更多