在我的程序中,我使用输入流和输出流。这些主要可以是任何类型的流,但在大多数情况下,它们只是控制台中的标准输入和输出。以下是流的初始化方式:
StreamReader input = null;
StreamWriter output = null;
/* ... */
if (output == null)
{
output = new StreamWriter(Console.OpenStandardOutput());
}
if (input == null)
{
input = new StreamReader(Console.OpenStandardInput());
}
我的问题是来自控制台的输入总是写入控制台。我有一些不想写入控制台的特殊字符。更具体地说,我想使用选项卡来自动完成例如。
在谷歌搜索时,我发现的唯一解决方案是使用 Console.ReadKey()。但是,这通常会破坏我对流的支持,因为流没有类似的方法。
我的问题归结为:有没有办法将输入流与输出流分离?也欢迎解决此问题的替代方法。