多维数组初始化c#

时间:2017-07-17 23:03:15

标签: c# multidimensional-array

我在初始化以下数组时遇到问题

char[,] omar = new char[4, 4];
for (int i = 0; i < 4; ++i) 
{
     for (int j = 0; j < 4; ++j) 
     {
          omar[i, j] = (char)(Console.Read());
     }
}

当我尝试输入这样的输入时

....
####
####
##..

只有前三行不是第四行所以请帮忙吗?

1 个答案:

答案 0 :(得分:0)

您正在使用Console.Read()来阅读输入的单个字符,但是当您按Enter键时,Read()将返回:

  1. 单个换行符(\n或十进制10)如果您位于类似* nix的平台上;
  2. 如果您在Windows上,则为回车符(\r或十进制13)。直接在此后的Read()调用将返回换行符。
  3. 进行一项小修改,以获得您希望以您期望的方式工作的代码:

    char[,] omar = new char[4, 4];
    for (int i = 0; i < 4; ++i) 
    {
         for (int j = 0; j < 4; ++j) 
         {
              omar[i, j] = (char)(Console.Read());
         }
         Console.Read();
         if (Environment.NewLine.Length > 1)
             Console.Read();
    }