私のプログラムでは、入力ストリームと出力ストリームを操作します。これらは基本的にどのような種類のストリームでもかまいませんが、ほとんどの場合、コンソールの単なる標準入力と出力です。ストリームを初期化する方法は次のとおりです。
StreamReader input = null;
StreamWriter output = null;
/* ... */
if (output == null)
{
output = new StreamWriter(Console.OpenStandardOutput());
}
if (input == null)
{
input = new StreamReader(Console.OpenStandardInput());
}
私の問題は、コンソールからの入力が常にコンソールに書き込まれることです。コンソールに書きたくない特殊文字がいくつかあります。より具体的には、たとえばタブを使用してオートコンプリートしたいと考えています。
私が見つけた唯一の解決策は、Console.ReadKey()を使用することでした。ただし、ストリームには同様のメソッドがないため、これは一般的なストリームのサポートを台無しにします。
私の質問は次のとおりです。入力ストリームを出力ストリームから切り離す方法はありますか? これを解決する別の方法も歓迎します。