我在初始化以下数组时遇到问题
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());
}
}
当我尝试输入这样的输入时
....
####
####
##..
只有前三行不是第四行所以请帮忙吗?
答案 0 :(得分:0)
您正在使用Console.Read()
来阅读输入的单个字符,但是当您按Enter键时,Read()
将返回:
\n
或十进制10)如果您位于类似* nix的平台上; \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();
}