为什么 Console.ReadKey() 将 'a' 符号连接到下一个输出?
Why does Console.ReadKey() concatenate 'a' symbol to the next output?
我正在做一个简单的例子,根据输入键,我在控制台上写了不同的消息。问题是,每次我读取一个键,下一个 Console.WriteLine()
结果的开头都有一个 'a' 符号连接?这是一个例子:
ConsoleKeyInfo keyInfor = Console.ReadKey();
if (keyInfor.Key == ConsoleKey.UpArrow)
{
Console.WriteLine("Up arrow");
}
单击向上箭头时的预期结果:"Up arrow"
实际结果:"aUp arrow"
对我来说它显示了 space。请注意 Console.ReadKey()
的描述是:
Obtains the next character or function key pressed by the user. The pressed key is optionally displayed in the console window.
如果你想禁用它,
ConsoleKeyInfo keyInfor = Console.ReadKey(true);
这样key就不会输出了
请注意,如果您重定向程序的输出,您会看到 space 不是 space,而是 NUL
字符([=13 =]
)
我正在做一个简单的例子,根据输入键,我在控制台上写了不同的消息。问题是,每次我读取一个键,下一个 Console.WriteLine()
结果的开头都有一个 'a' 符号连接?这是一个例子:
ConsoleKeyInfo keyInfor = Console.ReadKey();
if (keyInfor.Key == ConsoleKey.UpArrow)
{
Console.WriteLine("Up arrow");
}
单击向上箭头时的预期结果:"Up arrow"
实际结果:"aUp arrow"
对我来说它显示了 space。请注意 Console.ReadKey()
的描述是:
Obtains the next character or function key pressed by the user. The pressed key is optionally displayed in the console window.
如果你想禁用它,
ConsoleKeyInfo keyInfor = Console.ReadKey(true);
这样key就不会输出了
请注意,如果您重定向程序的输出,您会看到 space 不是 space,而是 NUL
字符([=13 =]
)