Проверка ввода пустой строки - PullRequest
0 голосов
/ 27 сентября 2018

У меня возникли проблемы с пониманием того, почему мой пользовательский метод проверки пустой строки не работает по сравнению, когда я проверяю наличие пустой строки напрямую

Validation.EmptyValidation(title,
"Please, do not leave the course title field empty!" +
"\r\nEnter the course title: ");

Он не выводит название курса вконец, но когда я делаю это так, он делает:

while (string.IsNullOrEmpty(title))
{
   Console.WriteLine("No empty string: ");
   title = Console.ReadLine();
}

Класс:

 Console.WriteLine("* Create Course *\r\n");

 Console.WriteLine("Enter the course title: ");
 string title = Console.ReadLine();

 while (string.IsNullOrEmpty(title))
 {
    Console.WriteLine("No empty string: ");
    title = Console.ReadLine();
 }

 Validation.EmptyValidation(title,
 "Please, do not leave the course title field empty!" +
 "\r\nEnter the course title: ");

 Console.WriteLine("\r\nEnter the course description: ");
 string description = Console.ReadLine();
 Validation.EmptyValidation(description,
 "Please, do not leave the course description field empty!" +
 "\r\nEnter the course description: ");

 Console.WriteLine("\r\nEnter the number of students in the course: ");
 =string studentsInput = Console.ReadLine();
 int.TryParse(studentsInput, out int students);

 CreateCourse(currentCourse, title, description, students);

 public static Course CreateCourse (Course _currentCourse, string title string description, int students)
    {
        Course course = new Course(title, description, students);
        _currentCourse = course;
        _currentCourse.Title = course.Title;

        Console.WriteLine($"\r\nThank you for registering the {_currentCourse.Title} course.\r\n" +
          $"\r\nCourse Information" +
          $"\r\nTitle: {_currentCourse.Title}" +
          $"\r\nDescription: {_currentCourse.Description}" +
          $"\r\nStudents: {_currentCourse.Capacity}");

        return _currentCourse;
    }

Пустой метод проверки:

    public static string EmptyValidation(string input, string prompt)
    {
        while (string.IsNullOrEmpty(input))
        {
            Console.WriteLine(prompt);
            input = Console.ReadLine();
        }
        return input;
    }

1 Ответ

0 голосов
/ 27 сентября 2018

Есть несколько вещей, которые идут не так, как надо

// you weren't returning the results 
title = Validation.EmptyValidation(title,
"Please, do not leave the course title field empty!" +
"\r\nEnter the course title: ");

Также, если вам больше не нужна другая проверка, лучше удалить ее

//while (string.IsNullOrEmpty(title))
//{
//    Console.WriteLine("No empty string: ");
//    title = Console.ReadLine();
// }
...