控制台.Read方法在Windows应用程序中会阻塞吗?

3

当我在调试时,我经常从Windows应用程序模式切换到控制台模式。如果我的应用程序处于Windows模式下,Console.Read和Console.ReadLine会等待用户输入吗?

2个回答

2
在Windows应用程序中,Console.Read将始终返回-1,Console.ReadLine将返回nullReadToEnd将返回string.EmptyPeek将返回-1;这是因为Console类会自动安装一个自定义的StreamReaderConsole.In,以避免这些调用出现问题。

1
不,它们不会。它们会表现得好像它们不存在一样。需要注意的一件事是,ReadKey 会抛出一个异常,而不像其他两个方法那样忽略它。如果你需要检查你是否在控制台中,请参见 this question

1
这里发生了什么?你提出了一个问题并在不到60秒的时间内回答了自己? - xelco52
问题表单中有一个复选框。我认为这可能非常有用,所以我发布了它。 - Arlen Beiler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接