我有这段代码可以读取和显示输入字符串,直到输入hello
。
string x;
do
{
x = Console.ReadLine();
Console.WriteLine ("{0}\n",x);
}
while (x != "hello");
以下是一个示例运行:
在这里,只要外部控制台出现,我就先输入test
。但只有est
出现了。但是可以看出,正确读取了值并写出了test
。当我输入hello
时,它会显示ello
,但会显示hello
并终止循环。
我无法准确确定何时发生这种情况,但有些时候因为我输入的字符串太快了。有时它会快速显示输入的输入而没有任何问题。在上面的屏幕截图中,我以正常速度键入test
。
这是一个错误还是一个依赖问题?
PS:我安装了xterm
;我在CrunchBang Linux上,这是基于Debian的;单声道运行时为2.6.7-5
答案 0 :(得分:1)
似乎它是窗口系统从平台上的标准输入呈现字符的方式的错误。只要您获得的字符串包含所有文本,我就不会担心。
我不认为Mono应该归咎于此。我可能怀疑Mono是否仅在初始加载时发生 - 但由于你说它发生在不同的时间,我认为它可能是操作系统特有的东西。