//Добавить объект
        private void Add()
        {
            string[] addMenu =
            { "Добавить монархию", "Добавить королевство", "Добавить республику", "Назад" };
            while (true)
            {
                var            sw = LiveMenu.Menu("Выберите действие:", addMenu);
                StateInterface state;
                switch (sw)
                {
                case 0:
                    Console.WriteLine("Введите монархию для добавления: ");
                    state = new Monarchy();
                    state.Input();
                    _states.Add(state.Return_Name() + " " + state.Return_GDP(), state);

                    Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 1:
                    Console.WriteLine("Введите королевство для добавления:");
                    state = new Kingdom();
                    state.Input();
                    _states.Add(state.Return_Name() + " " + state.Return_GDP(), state);

                    Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 2:
                    Console.WriteLine("Введите республику для добавления:");
                    state = new Republic();
                    state.Input();
                    _states.Add(state.Return_Name() + " " + state.Return_GDP(), state);

                    Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 3:
                    return;
                }
            }
        }
        //Удалить объект
        private void Delete(out int k)
        {
            string[] addMenu =
            { "Удалить монархию", "Удалить королевство", "Удалить республику", "Назад" };
            k = 0;
            while (true)
            {
                var            sw = LiveMenu.Menu("Выберите действие:", addMenu);
                StateInterface state;
                switch (sw)
                {
                case 0:
                    Console.WriteLine("Введите монархию для удаления:");
                    state = new Monarchy();
                    state.Input();

                    if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.
                        WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }
                    else
                    {
                        _states.Remove(state.Return_Name() + " " + state.Return_GDP());
                        Console.
                        WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }

                    if (_states.Count == 0)
                    {
                        k = 6;
                        return;
                    }

                    break;

                case 1:
                    Console.WriteLine("Введите королевство для удаления:");
                    state = new Kingdom();
                    state.Input();
                    if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.
                        WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }
                    else
                    {
                        _states.Remove(state.Return_Name() + " " + state.Return_GDP());
                        Console.
                        WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }

                    if (_states.Count == 0)
                    {
                        k = 6;
                        return;
                    }

                    break;

                case 2:
                    Console.WriteLine("Введите республику для удаления:");
                    state = new Republic();
                    state.Input();
                    if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.
                        WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }
                    else
                    {
                        _states.Remove(state.Return_Name() + " " + state.Return_GDP());
                        Console.
                        WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу...");
                        Console.ReadKey(true);
                    }

                    if (_states.Count == 0)
                    {
                        k = 6;
                        return;
                    }

                    break;

                case 3:
                    return;
                }
            }
        }
        //Тип поиска
        private void TypeFind()
        {
            string[] queriesMenu =
            { "Поиск элемента типа Monarchy", "Поиск элемента типа Kingdom", "Поиск элемента типа Republic", "Назад" };
            while (true)
            {
                var sw = LiveMenu.Menu("Выберите нужную опцию:", queriesMenu);
                switch (sw)
                {
                case 0:
                    StateInterface state = new Monarchy();
                    state.Input();
                    if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.WriteLine("\nОбъект найден: ");
                        Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...",
                                          _states[state.Return_Name() + " " + state.Return_GDP()]);
                    }
                    else
                    {
                        Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу...");
                    }

                    Console.ReadKey(true);
                    break;

                case 1:
                    state = new Kingdom();
                    state.Input();
                    if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.WriteLine("\nОбъект найден: ");
                        Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...",
                                          _states[state.Return_Name() + " " + state.Return_GDP()]);
                    }
                    else
                    {
                        Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу...");
                    }

                    Console.ReadKey(true);
                    break;

                case 2:
                    state = new Republic();
                    state.Input();
                    if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP()))
                    {
                        Console.WriteLine("\nОбъект найден: ");
                        Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...",
                                          _states[state.Return_Name() + " " + state.Return_GDP()]);
                    }
                    else
                    {
                        Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу...");
                    }

                    Console.ReadKey(true);
                    break;

                case 3:
                    return;
                }
            }
        }