2017-07-17 148 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

是的,這是非常有益的,非常感謝 –