在 .NET Framework 中构建控制台应用程序 Building Console Applications in the .NET Framework
本文内容
.NET Framework 中的应用程序可以使用 System.Console 类在控制台中读取和写入字符。读取自控制台的数据是从标准输入流读取的,而写入到控制台的数据将写入标准输出流,并且写入控制台的错误数据将写入标准错误输出流。应用程序启动时,这些数据流会自动与控制台关联,并分别表示为 In、Out 和 Error 属性。
Console.In 属性的值是 System.IO.TextReader 对象,而 Console.Out 和 Console.Error 属性的值都是 System.IO.TextWriter 对象。你可以将这些属性与不表示控制台的流关联,以便可以将该流指向不同的输入位置或输出位置。例如,你可以通过将 Console.Out 属性设置为 System.IO.StreamWriter 将输出重定向到一个文件,这将通过 Console.SetOut 方法封装 System.IO.FileStream。Console.In 和 Console.Out 属性不需要引用相同流。
备注
有关生成控制台应用程序(包括 C#、Visual Basic 和 C++ 中的示例)的详细信息,请参阅 Console 类文档。
如果不存在控制台(比如在基于 Windows 的应用程序中),写入标准输出流的输出将不可见,因为没有可以将信息写入的控制台。将信息写入不可访问的控制台不会引发异常。
此外,若要使控制台在使用 Visual Studio 开发的基于 Windows 的应用程序内进行读取和写入,请打开项目的“属性”对话框,单击“应用程序”选项卡,并将“应用程序类型”设置为“控制台应用程序”。
控制台应用程序缺少在默认情况下启动的消息泵。因此,控制台调用 Microsoft Win32 计时器时可能会失败。
System.Console 类具有从控制台读取单独的字符或整行的方法。其他方法转换数据和格式字符串,然后将设置了格式的字符串写入控制台。有关设置字符串格式的详细信息,请参阅格式设置类型。