Serge Wazuki Serge Wazuki - 3 months ago 16
C# Question

How to hide output (not the window) in a console application?

Well, let me make it clear again. I have a console application with many classes, in each class there is at least one Console.WriteLine("text") line. I defined some arguments that when running the application, it output exactly what I wrote in classes. There, I want to define an argument that when I run the app with this argument, there will be no output on the console screen but the console window still appears. The argument maybe something like "-s". So is there any way I can do this without using the "if" condition in each class and passing an parameter through classes? Many thanks.

P/S: I've searched thru the internet and found out some articles related to this, but most of the answers were to hide the console window. I think this question should be what the others meant.


Use Console.SetOut ( and pass in a "null" text writer. The idea on -s perform a Console.SetOut(new StreamWriter()).

The example for the Console.SetOut method will help you get started.

In addition, you can easily add logging using this method.