Пример #1
0
        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();
        }