web-dev-qa-db-ja.com

C#コンソールにストリームをリダイレクトする方法

コンソール出力をファイルにリダイレクトする方法をたくさん見つけました。しかし、反対の解決策が必要です-sw.WriteLine("text");を実行したら、コンソール出力に表示したいStreamWriterがあります

51
Boppity Bop

ストリームを標準出力に向けるだけです:

sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);
88
John Feminella

その前の答えは正しくありませんが、コメントを追加するのに十分な評価レベルがないため、別の答えを追加するだけです:

Johnがusingステートメントで提案したように標準出力を指すようにStreamを使用する場合は、 https://docs.Microsoft.com/en-us/ dotnet/api/system.console.setout?view = netframework-4.7.2

using (sw = new StreamWriter(Console.OpenStandardOutput())
{
    sw.AutoFlush = true;
    Console.SetOut(sw);
    ...
}
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);
2
Igal Ore