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: altura de la ventanaConsole.WindowWidth: ancho de la ventanaConsole.WindowLeft: distancia desde la izquierdaConsole.WindowTop: distancia desde la parte superior
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")}");