2012-06-06 17 views
2

我有这段代码,它读取并显示输入字符串,直到输入helloMono上的Console.ReadLine()有时不显示前几个输入字符

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;我使用的是基于Debian的CrunchBang Linux;单声道运行时间是2.6.7-5

回答

1

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

我不认为单反是在这里责怪。我可能怀疑Mono是否仅在初始加载时发生 - 但是由于您声明它发生在不同的时间,我认为这可能是操作系统特有的。