Leer datos del teclado en C#
En esta lección vas a leer lo que escribe el usuario con Console.ReadLine y a convertirlo en número de forma segura con int.TryParse.
Introducción
El método Console.ReadLine detiene el programa hasta que el usuario escribe una línea y pulsa Intro, y después devuelve esa línea como cadena. Como el dato recibido siempre es una cadena, hay que convertirlo en número antes de calcular y manejar el caso en que el usuario escriba algo incorrecto.
Console.ReadLine puede devolver null cuando ya no hay más datos de entrada, por eso el operador ?? aporta un valor por defecto como "friend". El método int.TryParse intenta convertir la cadena en número y devuelve false en lugar de provocar un error si la cadena no es válida; el resultado sale por la variable out int age. En el compilador online, escribe tu respuesta cuando aparezca el mensaje.
Ejemplo de C# ejecutable
using System;
class Program
{
static void Main()
{
// Console.ReadLine returns the typed line, or null when input ends.
Console.Write("What is your name? ");
string name = Console.ReadLine() ?? "friend";
// int.TryParse converts text safely instead of throwing on bad input.
Console.Write("How old are you? ");
string text = Console.ReadLine() ?? "";
if (int.TryParse(text, out int age))
{
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"In 10 years you will be {age + 10}.");
}
else
{
Console.WriteLine($"\"{text}\" is not a whole number.");
}
}
}
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.Practica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Average of Three Average three whole numbers. Fácil
- Celsius a Fahrenheit Convierte una temperatura de grados Celsius a grados Fahrenheit. Fácil