internal static void Choice(Notebook noteBook) //выбор пункта основного меню
        {
            byte choice;

            Console.Write("\nЯ хочу ");

            try
            {
                choice = byte.Parse(Console.ReadLine());

                switch (choice)
                {
                case 1:
                    Console.Clear();
                    Console.WriteLine("***Создание новой записи***\n");
                    noteBook.CreateNewNote();
                    break;

                case 2:
                    Console.Clear();
                    noteBook.ReadNote();
                    break;

                case 3:
                    Console.Clear();
                    Console.WriteLine("***Редактирование ранее созданных записей***\n");

                    if (noteBook.listOfNotes.Count == 0)
                    {
                        Console.WriteLine(
                            "Записи не найдены!\nНажмите любую клавишу, чтобы вернуться в главное меню.");
                        ToMainMenu(noteBook);
                        break;
                    }

                    Console.WriteLine("Список записей: ");
                    for (var i = 0; i < noteBook.listOfNotes.Count; i++)
                    {
                        var note = noteBook.listOfNotes[i];
                        Console.WriteLine(" {0}. {1} {2}, {3} ({4} - идентификационный номер записи);", i + 1,
                                          note.surname, note.name, note.phoneNumber, note.notesNumber);
                    }

                    Console.Write(
                        "\nВведите идентификационный номер записи, которую вы желаете изменить, или 0, чтобы вернуться в главное меню: ");
                    var desiredNote = noteBook.GetNote();
                    if (desiredNote == null)
                    {
                        Console.WriteLine(
                            "\nЗапись с данным номером не найдена.\nНажмите любую клавишу, чтобы вернуться в главное меню.");
                        ToMainMenu(noteBook);
                    }
                    else
                    {
                        noteBook.EditNote(desiredNote);
                    }

                    break;

                case 4:
                    Console.Clear();
                    Console.WriteLine("***Просмотр всех записей***\n");
                    noteBook.ShowAllNotes();
                    if (noteBook.listOfNotes.Count != 0)
                    {
                        Console.WriteLine("\nНажмите любую клавишу, чтобы вернуться в главное меню.");
                        ToMainMenu(noteBook);
                    }

                    break;

                case 5:
                    Console.Clear();
                    noteBook.DeleteNote();
                    break;

                case 0:
                    Console.Clear();
                    Console.WriteLine("До новых встреч!\nНажмите любую клавишу для выхода.");
                    Console.ReadKey();
                    Environment.Exit(0);
                    break;

                default:
                    Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n");
                    Choice(noteBook);
                    break;
                }
            }

            catch (Exception e)
            {
                Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n");
                Choice(noteBook);
            }
        }
        public static void Editor()
        {
            var foundId = Finder();

            Console.WriteLine("Введите Id записи, которую надо редактировать");
            var userInput = Console.ReadLine();
            int id;

            while (!(int.TryParse(userInput, out id) && foundId.Contains(id)))
            {
                Console.WriteLine("Некорректный ввод!");
                Console.Write("Попробуй еще раз: ");
                userInput = Console.ReadLine();
            }

            var    note = Notebook.GetNoteToEdit(id);
            string input;

            Console.WriteLine($"Текущая фамилия: {note.Surname}");
            Console.Write("Введите новую фамилию (чтобы оставить фамилию неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Surname = input;
            }

            Console.WriteLine($"Текущее имя: {note.Name}");
            Console.Write("Введите новое имя (чтобы оставить имя неизменным, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Name = input;
            }

            Console.WriteLine($"Текущее отчество: {note.Lastname}");
            Console.Write("Введите новое отчество (чтобы оставить отчество неизменным, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Lastname = input;
            }

            Console.WriteLine($"Текущий телефон: {note.PhoneNumber}");
            Console.Write("Введите новый телефон (чтобы оставить телефон неизменным, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.PhoneNumber = input;
            }

            Console.WriteLine($"Текущая страна: {note.Country}");
            Console.Write("Введите новую фамилию (чтобы оставить страну неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Country = input;
            }

            Console.WriteLine($"Текущая дата рождения: {note.Birthdate}");
            Console.Write("Введите новую дату рождения (чтобы оставить страну неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Birthdate = input;
            }

            Console.WriteLine($"Текущая организация: {note.Organization}");
            Console.Write("Введите новую организацию (чтобы оставить организацию неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Organization = input;
            }

            Console.WriteLine($"Текущая должность: {note.Position}");
            Console.Write("Введите новую должность (чтобы оставить должность неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.Position = input;
            }

            Console.WriteLine($"Текущая заметка: {note.OtherNotes}");
            Console.Write("Введите новую заметку (чтобы оставить заметку неизменной, введите \"-\"): ");
            input = Console.ReadLine();
            if (input != "-")
            {
                note.OtherNotes = input;
            }

            Console.Clear();
            Console.WriteLine("Поздравляю, запись успешно обновлена!\n");
            PrintInfo();
        }
        EditNoteChoice(ref Note note, Notebook noteBook)     //выбор пункта меню редактирования ранее созданных записей
        {
            byte choice;

            Console.Write("\nЯ хочу изменить поле ");

            try
            {
                choice = byte.Parse(Console.ReadLine());

                switch (choice)
                {
                case 1:
                    Console.Write("\nИзмените фамилию: ");
                    var surname = Console.ReadLine();
                    surname      = CheckNameString(surname, new[] { '-' });
                    note.surname = surname;
                    break;

                case 2:
                    Console.Write("\nИзмените имя: ");
                    var name = Console.ReadLine();
                    name      = CheckNameString(name, new[] { '-' });
                    note.name = name;
                    break;

                case 3:
                    Console.Write("\nИзмените отчество: ");
                    var patronymic = Console.ReadLine();
                    patronymic      = CheckNameString(patronymic, new char[] { });
                    note.patronymic = patronymic;
                    break;

                case 4:
                    Console.Write("\nИзмените номер телефона: ");
                    var  phoneNumber = Console.ReadLine();
                    long phoneNumberCheck;
                    while (long.TryParse(phoneNumber, out phoneNumberCheck) != true)
                    {
                        Console.Write("\nВведённый Вами символ некорректен!\nПопробуйте ещё раз: ");
                        phoneNumber = Console.ReadLine();
                    }

                    note.phoneNumber = phoneNumber;
                    break;

                case 5:
                    Console.Write("\nИзмените название страны: ");
                    var country = Console.ReadLine();
                    country      = CheckNameString(country, new[] { '-', ' ' });
                    note.country = country;
                    break;

                case 6:
                    Console.Write("\nИзмените дату рождения:  (ДД.MM.ГГГГ): ");
                    var birthDateString = Console.ReadLine();
                    while (true)
                    {
                        if (birthDateString.Any(c => !char.IsDigit(c) && c != '.') || birthDateString[2] != '.' ||
                            birthDateString[5] != '.' || birthDateString.Length != 10)
                        {
                            Console.Write("Введённые Вами данные недопустимы!\nПопробуйте ещё раз: ");
                            birthDateString = Console.ReadLine();
                        }
                        else
                        {
                            break;
                        }
                    }

                    var birthDate = DateTime.ParseExact(birthDateString, "dd.MM.yyyy", null);
                    note.birthDate = birthDate;
                    break;

                case 7:
                    Console.Write("\nИзмените название организации: ");
                    var organization = Console.ReadLine();
                    ;
                    note.organization = organization;
                    break;

                case 8:
                    Console.Write("\nИзмените название должности: ");
                    var position = Console.ReadLine();
                    note.position = position;
                    break;

                case 9:
                    Console.Write("\nИзмените текст заметки: ");
                    var notes = Console.ReadLine();
                    note.notes = notes;
                    break;

                case 0:
                    Console.Clear();
                    Menu();
                    Choice(noteBook);
                    Console.ReadKey();
                    break;

                default:
                    Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n");
                    Choice(noteBook);
                    break;
                }
            }

            catch (FormatException e)
            {
                Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n");
                Choice(noteBook);
            }

            return(note);
        }