2017-07-17 144 views
-1

我有一个问题初始化以下数组这样多维数组初始化的C#

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

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()); 
    } 
} 

当我尝试进入输入只取第3行不是所有的第四,因此任何请帮助 ?

+2

请记住,每次你按下回车键,这是一个人物了。 –

+0

是的,这是问题...非常感谢 –

回答

0

您使用Console.Read()读取个人输入的字符,但是当你按下回车键,Read()将返回:

  1. 单个换行符(\n,或十进制10)如果你在一个*类似nix的平台;
  2. 如果您在Windows上,则回车符(\r或十进制数13)。直接在此之后调用Read()将返回一个换行字符。

一个小的修改,让你一定要工作,你所期望的方式代码:

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(); 
} 
+0

是的,这是非常有益的,非常感谢 –