C# 在windows应用程序中执行Console.Read块

C# 在windows应用程序中执行Console.Read块,c#,.net-4.0,C#,.net 4.0,调试时,我经常从windows应用程序模式切换到控制台模式。如果我的应用程序处于Windows模式,Console.Read和Console.ReadLine是否会等待用户输入?否,它们不会。他们会表现得好像他们不存在一样。不过需要注意的是,ReadKey将抛出一个异常,而不是像其他两个一样忽略它。如果您需要检查是否在控制台中,请查看。在Windows应用程序中,控制台.Read将始终返回-1,控制台.ReadLine将返回null,ReadToEnd将返回字符串。空的和Peek将返回-1 这是

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

否,它们不会。他们会表现得好像他们不存在一样。不过需要注意的是,ReadKey将抛出一个异常,而不是像其他两个一样忽略它。如果您需要检查是否在控制台中,请查看。

在Windows应用程序中,
控制台.Read
将始终返回-1,
控制台.ReadLine
将返回
null
ReadToEnd
将返回
字符串。空的
Peek
将返回
-1


这是因为
Console
类将自动将自定义
StreamReader
安装到
Console中。在
中,这些调用可以避免出现问题。

这里发生了什么?你问了一个问题并自己回答了-在不到60秒的时间内?问题表格中有一个复选框。我想这可能真的很有用,所以我把它贴了出来。