static void Main(string[] args) { var personArray = new List <Person>(); // чтобы количество человек тоже сделать динамическим int personCount = GetPersonCount(); // чисто для красоты, чтобы обычный бесконечный цикл ошибок не занимал пол-экрана for (int i = 0; i < personCount; i++) { while (true) { try { personArray.Add(new Person() { Name = Person.InputPersonName(i), AgeYears = Person.InputPersonAge(i) }); break; } catch (ArgumentNullException) { ShowColoredMessage("Ничего не введено, попробуйте еще раз."); } catch (FormatException) { ShowColoredMessage("Не могу распознать число, попробуйте еще раз."); } catch (ArgumentOutOfRangeException) { ShowColoredMessage("Введено неположительное значение, попробуйте еще раз."); } } } foreach (var person in personArray) { Console.WriteLine(person.Description); ShowColoredMessage(person.Description, ConsoleColor.Green); } Console.WriteLine("Нажмите любую клавишу для выхода..."); Console.ReadKey(); }