2

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

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

这是一个示例运行:
在此处输入图像描述
在这里,外部控制台一出现,我就test先输入。但只是est出现了。但可以看出,该值被正确读取test并被写出。当我输入hello时,它显示ello,但读取hello并终止了循环。

我无法准确指出何时发生这种情况,但有时是因为我输入的输入字符串有点太快了。有时它会毫无问题地显示快速输入的输入。在上面的屏幕截图中,我test以正常速度打字。

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

PS:我已经xterm安装了;我使用的是基于 Debian 的 CrunchBang Linux;Mono 运行时是2.6.7-5

4

1 回答 1

1

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

我不认为 Mono 应该归咎于此。如果 Mono 仅在初始加载期间发生,我可能会怀疑它 - 但由于您声明它发生在不同的时间,我认为这可能是操作系统特有的东西。

于 2012-06-06T14:41:19.157 回答