Search code examples
c#.netconsole

Using colors in console, how to store in a simplified notation


The code below shows a line in different colors, but that's a lot of code to type just for one line and to repeat that all over a program again.
How exactly can I simplify this, so I don't need to write the same amount of code over and over?

Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write(">>> Order: ");
Console.ResetColor();
Console.Write("Data");
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write("Parity");
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write(" <<<");

Is there any way to store ... = Console.ForegroundColor = ConsoleColor.Cyan;?

"text" + color? + "text"; etc...


Solution

  • It's not entirely clear what you mean, but you could always create helper methods:

    public static void ColoredConsoleWrite(ConsoleColor color, string text)
    {
        ConsoleColor originalColor = Console.ForegroundColor;
        Console.ForegroundColor = color;
        Console.Write(text);
        Console.ForegroundColor = originalColor;
    }