Café y Código

3. Entrada y Salida (I/O)

Mostrar datos (Escribir)

Para imprimir mensajes en la pantalla (la consola), usamos la clase `Console`. C# nos da dos versiones principales para esto:

  • Console.WriteLine("..."); Imprime el mensaje y hace un salto de línea (enter) al final.
  • Console.Write("..."); Imprime el mensaje pero el cursor se queda en la misma línea. Útil cuando quieres que el usuario escriba su respuesta al lado del texto.

Formateo de Textos y Variables

En lugar de usar el símbolo `+` para unir (concatenar) texto y variables, C# tiene una funcionalidad elegante llamada Interpolación de Cadenas. Solo pon un signo de dólar `$` antes de las comillas e inserta las variables entre llaves ``.

Interpolación de Strings
CSHARP
1string nombre = "Ana";
2int edad = 30;
3
4// Método antiguo (concatenación)
5Console.WriteLine("Hola, me llamo " + nombre + " y tengo " + edad + " años.");
6
7// Interpolación (¡Mejor forma!)
8Console.WriteLine($"Hola, me llamo {nombre} y tengo {edad} años.");

Capturar datos (Leer)

Para que el usuario ingrese información, usamos Console.ReadLine().Importante: Este método *siempre* devuelve un dato de tipo cadena (`string`).

Console.ReadLine()
CSHARP
1Console.Write("Escribe tu nombre: ");
2string nombreUsuario = Console.ReadLine();
3
4Console.WriteLine($"¡Bienvenido, {nombreUsuario}!");

Conversión de Tipos (Parseo)

Dado que `Console.ReadLine()` devuelve texto, si le pedimos al usuario su edad (un número), C# fallará si intentamos sumarle algo. Para eso debemos Convertir / Parsear el texto a un número usando `int.Parse()` o `Convert.ToInt32()`.

Parseo de Strings a Enteros
CSHARP
1Console.Write("Ingresa tu edad: ");
2string inputEdad = Console.ReadLine();
3
4// Parsear el string a entero
5int edadEntera = int.Parse(inputEdad);
6int edadFutura = edadEntera + 10;
7
8Console.WriteLine($"En 10 años, tendrás {edadFutura} años.");

👨‍💻 Ejercicio Práctico

Misión: Calculadora Automática

Usa Console.ReadLine() para solicitar dos números al usuario (recuerda convertirlos con int.Parse()) e imprime la suma de ambos.

👁️ Ver solución propuesta
CSHARP
1Console.Write("Ingresa el primer número: ");
2int num1 = int.Parse(Console.ReadLine());
3
4Console.Write("Ingresa el segundo número: ");
5int num2 = int.Parse(Console.ReadLine());
6
7int suma = num1 + num2;
8Console.WriteLine($"La suma total es: {suma}");

👨‍💻 Ejercicio Práctico 2

Misión: Saludo Personalizado

Pide al usuario que ingrese su nombre, léelo con Console.ReadLine() y usa interpolación con el prefijo $ para decirle "¡Bienvenido, [Nombre]!".

👁️ Ver solución propuesta
CSHARP
1Console.Write("¿Cuál es tu nombre?: ");
2string nombre = Console.ReadLine();
3Console.WriteLine($"¡Bienvenido, {nombre}!");

👨‍💻 Ejercicio Práctico 3

Misión: Nacimiento estimado

Pregúntale al usuario su edad actual (número). Conviértela y réstala a 2026 para calcular su año de nacimiento e imprimirlo.

👁️ Ver solución propuesta
CSHARP
1Console.Write("Ingresa tu edad: ");
2int edad = int.Parse(Console.ReadLine());
3int anioNacimiento = 2026 - edad;
4Console.WriteLine($"Naciste aproximadamente en {anioNacimiento}");

👨‍💻 Ejercicio Práctico 4

Misión: Números decimales en entrada

Solicita al usuario el precio de un producto. Usa double.Parse() para convertirlo y muéstralo con un mensaje.

👁️ Ver solución propuesta
CSHARP
1Console.Write("Introduce el precio: ");
2double precio = double.Parse(Console.ReadLine());
3Console.WriteLine($"El costo final es: $ {precio}");

Ponte a prueba

Comprueba tus conocimientos sobre este tema realizando nuestro pequeño test.

Dato curioso: Microsoft lo presentó en 2000; C# 1.0 con .NET en 2002 (Anders Hejlsberg). Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.