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
1 string nombre = "Ana";
2 int edad = 30;
3
4 // Método antiguo (concatenación)
5 Console.WriteLine("Hola, me llamo " + nombre + " y tengo " + edad + " años.");
6
7 // Interpolación (¡Mejor forma!)
8 Console.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
1 Console.Write("Escribe tu nombre: ");
2 string nombreUsuario = Console.ReadLine();
3
4 Console.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
1 Console.Write("Ingresa tu edad: ");
2 string inputEdad = Console.ReadLine();
3
4 // Parsear el string a entero
5 int edadEntera = int.Parse(inputEdad);
6 int edadFutura = edadEntera + 10;
7
8 Console.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
1 Console.Write("Ingresa el primer número: ");
2 int num1 = int.Parse(Console.ReadLine());
3
4 Console.Write("Ingresa el segundo número: ");
5 int num2 = int.Parse(Console.ReadLine());
6
7 int suma = num1 + num2;
8 Console.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
1 Console.Write("¿Cuál es tu nombre?: ");
2 string nombre = Console.ReadLine();
3 Console.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
1 Console.Write("Ingresa tu edad: ");
2 int edad = int.Parse(Console.ReadLine());
3 int anioNacimiento = 2026 - edad;
4 Console.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
1 Console.Write("Introduce el precio: ");
2 double precio = double.Parse(Console.ReadLine());
3 Console.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.