Ввід/вивід і перетворення типів

Як читати дані з консолі та безпечно перетворювати їх у числа.

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()

Швидко перетворює, але може кинути помилку.

parse.cs
int age = int.Parse("12");

TryParse()

Не падає: повертає true/false.

tryparse.cs
string input = "12";
if (int.TryParse(input, out int age))
{
    Console.WriteLine($"Вік: {age}");
}
else
{
    Console.WriteLine("Це не число!");
}

3 Рядки та форматування

Найзручніший спосіб виводити дані — інтерполяція рядків: $"Привіт, {name}!".

Program.cs
string name = "May";
int age = 18;
Console.WriteLine($"Привіт, {name}! Тобі {age} років.");

⭐ Запам’ятай:

Console.ReadLine()string. Для математики — перетворюй у число. Для красивого виводу — використовуй $"...".