.NET
console
C#
color output
programming tips

Is it possible to write to the console in colour in .NET?

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

In the world of command-line applications, providing a visually compelling experience can significantly enhance usability. One way to achieve this is by using colored output, which can draw attention to critical information or make complex outputs more readable. In the .NET ecosystem, writing to the console in color is not only possible but also straightforward.

Writing to the Console in Color in .NET

Console Class Overview

The System.Console class in .NET provides several methods to interact with the console, among which changing the foreground and background colors are two of the most useful features for colored output.

Key Properties:

  • Console.ForegroundColor: Sets the color of the text.
  • Console.BackgroundColor: Sets the color of the text's background.

Both properties can be set using the ConsoleColor enumeration, which defines a set of named colors.

ConsoleColor Enumeration

The ConsoleColor enumeration includes the following named colors:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White

These colors can be used to configure the appearance of text in the console.

Using Colors in Console Applications

Here is a basic example illustrating how to use colors in a .NET console application:

  • Use Try-Finally: Always use a try-finally block to ensure that console settings are restored, even if an exception occurs.
  • Save Original Settings: Before making any changes, save the current console foreground and background colors.
  • Error Messages: Use distinct colors (e.g., red) to highlight errors and warnings.
  • User Prompts: Use different colors for input prompts to distinguish them from other text.
  • Highlighting Output: Use color to emphasize critical results or sections of data, especially in logs or reports.
  • Console Support: Not all terminals support color changes. Some older or simpler terminals may not display colors as expected.
  • Accessibility: Be mindful of color choices to ensure readability for colorblind users.

Related reading
Course
Intermediate
27 lessons
14 hours
OOD Fundamentals

Master object-oriented design from first principles, SOLID, design patterns, and classic interview problems with hands-on coding.

View the course
Track what you have practised

A free account saves your progress, solutions and study plan across every problem on Codemia.

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

All Rights Reserved.