Как правильно написать условие переменная int не равна double?
Подскажите пожалуйста, как правильно написать условие, если пользователь ввел не верный тип переменной, например double (36.5) вместо int (365) то будет выводиться ошибка. сначала идет такой код
Console.WriteLine("Введите трехзначное целое число: ");
int c = Convert.ToInt32(Console.ReadLine());
if(...)//вот здесь как правильно написать что с должно быть равно int или не равно double?
{
Console.WriteLine("Вы ввели не верное число");
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
if(...) - вот здесь у вас всегда будет int, потому что int c, но выше будет исключение, там где Convert.
Решить можно двумя способами.
int.TryParse()
Console.Write("Введите трехзначное целое число: ");
if (int.TryParse(Console.ReadLine(), out int c)
{
Console.WriteLine($"Вы ввели число {c}");
}
else
{
Console.WriteLine("Вы ввели неверное число");
}
try-catch
Console.Write("Введите трехзначное целое число: ");
try
{
int c = int.Parse(Console.ReadLine());
Console.WriteLine($"Вы ввели число {c}");
}
catch
{
Console.WriteLine("Вы ввели неверное число");
}