¿Es posible escribir en la consola en color en .NET?

Al escribir una pequeña herramienta de línea de comandos, sería bueno imprimir en diferentes colores. es posible?

Sí. Vea este artículo . Aquí hay un ejemplo de allí:

Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("White on blue."); 

enter image description here

 class Program { static void Main() { Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("White on blue."); Console.WriteLine("Another line."); Console.ResetColor(); } } 

Tomado de aquí .

Los comentarios anteriores son respuestas sólidas, sin embargo, tenga en cuenta que no son seguros para subprocesos. Si está escribiendo en la consola con múltiples subprocesos, el cambio de colores agregará una condición de carrera que puede crear una apariencia extraña. Sin embargo, es fácil de arreglar:

 public class ConsoleWriter { private static object _MessageLock= new object(); public void WriteMessage(string message) { lock (_MessageLock) { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine(message); Console.ResetColor(); } } } 

Sí, es fácil y posible. Definir los primeros colores predeterminados.

 Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Clear(); 

Console.Clear() es importante para establecer nuevos colores de consola. Si no realiza este paso, puede ver colores combinados cuando solicite valores con Console.ReadLine() .

Luego puede cambiar los colores en cada impresión:

 Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Red text over black."); 

Cuando termine su progtwig, recuerde reiniciar los colores de la consola al finalizar:

 Console.ResetColor(); Console.Clear(); 

Ahora con netcore tenemos otro problema si desea “preservar” la experiencia del usuario porque el terminal tiene diferentes colores en cada sistema operativo.

Estoy creando una biblioteca que resuelve este problema con el formato de texto: colores, alineación y mucho más. Siéntase libre de usar y contribuir.

https://github.com/equiman/colorify/

Colores para Windows (oscuro):
enter image description here

Colores para MacOS (Luz):
enter image description here

Sí, es posible de la siguiente manera. Estos colores se pueden usar en una aplicación de consola para ver algunos errores en color rojo, etc.

 Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.White;//after this line every text will be white on blue background Console.WriteLine("White on blue."); Console.WriteLine("Another line."); Console.ResetColor();//reset to the defoult colour