TextReader.NullフィールドやTextWriter.Nullフィールドを標準ストリームのリダイレクト先として設定すると、標準ストリームをnullデバイス(NUL
, /dev/null
)にリダイレクトするのと同様の効果が得られます。 TextReader.Nullフィールドは空(長さ0)の標準入力として利用でき、TextWriter.Nullは空の標準出力として利用できます。
特にTextWriter.Nullは、標準出力のリダイレクト先として設定することにより、出力される内容を一切破棄する(何も出力させない)ことができます。
標準出力をTextWriter.Nullにリダイレクトして書き込まれた内容を破棄する
using System;
using System.IO;
class Sample {
static void Main()
{
// 標準出力の出力先をTextWriter.Nullに変更する
// (標準出力をnullデバイスにリダイレクトした場合と似た効果となる)
Console.SetOut(TextWriter.Null);
// この内容はTextWriter.Nullに書き込まれる
// (TextWriter.Nullは'なにもしない'ので、実際には'どこにも'/'なにも'出力されない)
Console.WriteLine("Hello, world!");
}
}