Чтение ввода с клавиатуры в C#
В этом уроке вы прочитаете ввод пользователя через Console.ReadLine и безопасно превратите его в число с помощью int.TryParse.
Введение
Метод Console.ReadLine приостанавливает программу, пока пользователь не введёт строку и не нажмёт Enter, а затем возвращает эту строку. Полученные данные всегда строка, поэтому перед вычислениями их нужно превратить в число и обработать случай, когда пользователь ввёл что-то неверное.
Console.ReadLine может вернуть null, когда входных данных больше нет, поэтому оператор ?? подставляет значение по умолчанию, например "friend". Метод int.TryParse пытается превратить строку в число и при неверной строке возвращает false вместо ошибки, а результат выходит через переменную out int age. В онлайн-компиляторе введите ответ, когда появится подсказка.
Пример на C#, который можно запустить
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.Практика с отладчиком
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Среднее из трёх Вычислите среднее трёх целых чисел. Легко
- Celsius to Fahrenheit Convert a temperature from Celsius to Fahrenheit. Легко