public Optional SelectOptionalCourses(Optional optional) { while (optional.ChosenCredits < optional.Credits) { Console.WriteLine("Select {0} credits in {1}:", optional.Credits - optional.ChosenCredits, optional.Name); foreach (var course in optional.Courses) { Console.WriteLine("\t{0} {1}", course, Course.Courses[course].Credits); } Console.WriteLine("Select a course> "); string input = Console.ReadLine(); optional.Choose(input); } return(optional); }