Cargando...

Comandos de consola en C#

Aprende a trabajar con aplicaciones de consola en C#, mostrando mensajes, leyendo entradas del usuario y formateando la salida.

En las aplicaciones de consola, las operaciones de entrada y salida se realizan con la clase System.Console. Esta clase ofrece muchas funciones: desde escribir texto en la pantalla y leer datos del usuario hasta cambiar el título de la ventana o el color del texto. Conocer bien los comandos de la consola facilita mucho el desarrollo de pequeñas aplicaciones.


Console.Write / Console.WriteLine

Para imprimir en la consola se utilizan Write y WriteLine. Write continúa en la misma línea, mientras que WriteLine salta a la siguiente línea después de escribir.


Console.Write("Hola");
Console.Write(" Mundo");   // Misma línea
Console.WriteLine("!");    // Nueva línea
// Salida:
Hola Mundo!

Console.ReadLine

Para obtener datos del usuario se usa ReadLine. El valor introducido siempre es de tipo string.


Console.Write("Ingrese su nombre: ");
string nombre = Console.ReadLine();
Console.WriteLine("Hola " + nombre);

Console.ReadKey

Para leer una sola tecla en la consola se utiliza ReadKey. El carácter de la tecla presionada puede obtenerse con la propiedad KeyChar.


Console.WriteLine("Presione una tecla...");
var tecla = Console.ReadKey();
Console.WriteLine("\nHa presionado: " + tecla.KeyChar);

Salida Formateada

Al imprimir en la consola, las variables pueden formatearse usando marcadores de posición o interpolación de cadenas.


int edad = 25;
string nombre = "Álvarez";

Console.WriteLine("{0} tiene {1} años.", nombre, edad);
Console.WriteLine($"{nombre} tiene {edad} años."); // Interpolación

Console.ForegroundColor & BackgroundColor

Para cambiar el color del texto o el color de fondo se usan las propiedades ForegroundColor y BackgroundColor.


Console.ForegroundColor = ConsoleColor.Green;
Console.BackgroundColor = ConsoleColor.Black;
Console.WriteLine("Texto verde, fondo negro.");
Console.ResetColor(); // Restablecer al valor predeterminado

Console.Clear & Console.Title

Para limpiar la consola se usa Clear. Para cambiar el título de la ventana se usa Title.


Console.Title = "Mi Aplicación de Consola";
Console.Clear();

Ventana de la Consola

También se puede ajustar el tamaño y la posición de la ventana de la consola:


Console.WindowHeight = 30;
Console.WindowWidth = 100;
Console.WindowLeft = 0;
Console.WindowTop = 0;

Aplicación de Ejemplo: Información del Producto

En este ejemplo, se le pide al usuario información sobre una mesa: color, altura, ancho, largo y material. Según los datos introducidos, se muestra un resumen formateado en la consola.


Console.Title = "Entrada de Información del Producto";

Console.Write("Ingrese el color de la mesa: ");
string color = Console.ReadLine();

Console.Write("Altura de la mesa (cm): ");
int altura = int.Parse(Console.ReadLine());

Console.Write("Ancho de la mesa (cm): ");
int ancho = int.Parse(Console.ReadLine());

Console.Write("Largo de la mesa (cm): ");
int largo = int.Parse(Console.ReadLine());

Console.Write("¿La mesa es de madera (S/N)?: ");
bool madera = Console.ReadLine().Trim().ToUpper() == "S";

// Salida en color
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("\n--- Resumen del Producto ---");
Console.ResetColor(); // Restablecer color predeterminado

Console.WriteLine($"Color      : {color}");
Console.WriteLine($"Altura     : {altura} cm");
Console.WriteLine($"Ancho x Largo : {ancho} x {largo} cm");
Console.WriteLine($"Material   : {(madera ? "Madera" : "Metal")}");