как создать метод для проверки пользовательского ввода в определенном диапазоне

#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) будет повторяться бесконечно, пока не будет введено допустимое целое число.