Ввід/вивід і перетворення типів
Як читати дані з консолі та безпечно перетворювати їх у числа.
1 Чому це важливо?
У C# Console.ReadLine() завжди повертає рядок (string).
Якщо користувач вводить 5, це все одно текст "5".
Типова пастка
Якщо ви спробуєте додати рядок до числа або просто “склеїти” два рядки замість математичного додавання — отримаєте не те, що очікували.
🧾 Приклад: каса магазину
Уявіть, що користувач ввів ціну та кількість у консоль. Спочатку це рядки, але нам треба перемножити їх як числа.
- • string: це текст.
"10" + "10"дасть"1010". - • int/double: це числа.
10 + 10дасть20.
Console.Write("Ціна: ");
string priceText = Console.ReadLine()!;
Console.Write("Кількість: ");
string qtyText = Console.ReadLine()!;
double price = double.Parse(priceText);
int qty = int.Parse(qtyText);
double total = price * qty;
Console.WriteLine($"Сума: {total}");
2 Перетворення: Parse та TryParse
int.Parse() і double.Parse() працюють швидко, але якщо введення неправильне — буде помилка.
Більш “безпечний” варіант — TryParse.
Parse()
Швидко перетворює, але може кинути помилку.
int age = int.Parse("12");
TryParse()
Не падає: повертає true/false.
string input = "12";
if (int.TryParse(input, out int age))
{
Console.WriteLine($"Вік: {age}");
}
else
{
Console.WriteLine("Це не число!");
}
3 Рядки та форматування
Найзручніший спосіб виводити дані — інтерполяція рядків: $"Привіт, {name}!".
string name = "May";
int age = 18;
Console.WriteLine($"Привіт, {name}! Тобі {age} років.");
⭐ Запам’ятай:
Console.ReadLine() → string. Для математики — перетворюй у число. Для красивого виводу — використовуй $"...".