Является ли строка числом в вводе в C#
Мне нужно написать проверку на C#. Проверка заключается в следующем, как проверить ввод пользователя и понять это строка является числом или строкой. Например мне надо, чтобы пользователь заполнил массив и если он вводит не целое число, то программа будет выдавать "Введите число". Есть идеи, как это можно реализовать?
Ответы (2 шт):
Автор решения: aepot
→ Ссылка
Просто дополню комментарии примером
while (true)
{
Console.Write("Введите число: ");
string text = Console.ReadLine();
if (int.TryParse(text, out int number))
{
Console.WriteLine("Вы ввели число {0}", number);
break;
}
Console.WriteLine("Не удалось распознать число, попробуйте еще раз.");
}
Автор решения: Johannes Krauser III
→ Ссылка
Есть метод для char - IsDigit
bool StringIsDigits(string s)
{
foreach(var item in s)
{
if(!char.IsDigit(item))
return false; //если хоть один символ не число, то выкидываешь "ложь"
}
return true; //если ни разу не выбило в цикле, значит, все символы - это цифры
}