C# How to redirect stream to the console Out?

倾然丶 夕夏残阳落幕 提交于 2019-11-29 02:47:46

Just point the stream to standard output:

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

Not that previous answer not correct, but since i do not have enough reputation level to add comment, just adding another answer:

If you would ever use pointing Stream to standard output as John proposed with using statement you should not forget to re-open console Stream later on, as explained in 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);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!