Mono上的Console.ReadLine()有时不会显示前几个输入字符

时间:2012-06-06 14:20:53

标签: c# mono monodevelop

我有这段代码可以读取和显示输入字符串,直到输入hello

string x;
do
{
    x = Console.ReadLine();
    Console.WriteLine ("{0}\n",x);
}
while (x != "hello");

以下是一个示例运行:
enter image description here
在这里,只要外部控制台出现,我就先输入test。但只有est出现了。但是可以看出,正确读取了值并写出了test。当我输入hello时,它会显示ello,但会显示hello并终止循环。

我无法准确确定何时发生这种情况,但有些时候因为我输入的字符串太快了。有时它会快速显示输入的输入而没有任何问题。在上面的屏幕截图中,我以正常速度键入test

这是一个错误还是一个依赖问题?

PS:我安装了xterm;我在CrunchBang Linux上,这是基于Debian的;单声道运行时为2.6.7-5

1 个答案:

答案 0 :(得分:1)

似乎它是窗口系统从平台上的标准输入呈现字符的方式的错误。只要您获得的字符串包含所有文本,我就不会担心。

我不认为Mono应该归咎于此。我可能怀疑Mono是否仅在初始加载时发生 - 但由于你说它发生在不同的时间,我认为它可能是操作系统特有的东西。