#c# #validation #methods
#c# #проверка #методы
Вопрос:
Мне нужно создать метод, в котором у меня есть 3 параметра: Строковое приглашение, int min, int max. Как мне создать метод, в котором я прошу пользователя a выбрать число из определенного диапазона. Преобразуйте пользовательский ввод в значение int и проверьте, находится ли он в диапазоне min и max. Также, если пользователь не помещает число между диапазонами, продолжайте задавать вопрос, пока оно не попадет в диапазон.
public int ReadInteger(string prompt, int min, int max) {
Console.WriteLine(prompt);
string userInput = Console.ReadLine();
int number;
bool conversion = int.TryParse(userInput, out number);
while (conversion) {
bool resu<
if (number < min || number > max) {
result = false;
}
Console.WriteLine(prompt);
}
return number;
}
Комментарии:
1. внутри цикла while, после консоли. WriteLine, вы хотели бы вызвать Console. Прочитайте строку() и сделайте
conversion = int.TryParse(userInput, out number);
снова
Ответ №1:
Все должно быть повторено в случае неверного ввода:
public int ReadInteger(string prompt, int min, int max)
{
while (true)
{
Console.WriteLine(prompt);
string userInput = Console.ReadLine();
if (int.TryParse(userInput, out int number) amp;amp; number >= min amp;amp; number <= max)
{
return number;
}
}
}
while(true)
будет повторяться бесконечно, пока не будет введено допустимое целое число.