//Создать коллекцию
        private void CreateDictionary()
        {
            _states = new SortedDictionary <string, StateInterface>(new DictComparer());
            int size;

            while (true)
            {
                size = Input("Введите размер коллекции: ");
                if (size == 0)
                {
                    Console.WriteLine("Введена пустая коллекция. Повторите ввод...");
                }
                else
                {
                    break;
                }
            }

            var array = IStateCreate.CreateArray(size);

            foreach (var element in array)
            {
                _states.Add(element.Return_GDP() + " " + element.Return_Name(), element);
            }
        }
        //Запросы
        private void Queries <T>()
        {
            string[] queriesMenu = { "Количество объектов", "Печать объектов", "Перегенерировать объекты", "Назад" };
            while (true)
            {
                var sw = LiveMenu.Menu("Выберите нужный пункт:", queriesMenu);
                switch (sw)
                {
                case 0:
                    var count = 0;
                    foreach (var key in _states.Keys)
                    {
                        try
                        {
                            var element = (T)_states[key];
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    Console.
                    WriteLine("Кол-во объектов выбранного типа = {0}.\n\n\nДля продолженния нажать на любую клавишу...",
                              count);
                    Console.ReadKey(true);
                    break;

                case 1:
                    Console.WriteLine("Объекты выбранного типа: ");
                    foreach (var key in _states.Keys)
                    {
                        try
                        {
                            var element = (T)_states[key];
                            IStateCreate.Show(element);
                        }
                        catch
                        {
                            // ignored
                        }
                    }

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

                case 2:
                    count = 0;
                    var tmp = new SortedDictionary <string, StateInterface>(CloneDictionary());
                    foreach (var key in tmp.Keys)
                    {
                        try
                        {
                            var element = (T)_states[key];
                            _states.Remove(key);
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    for (var i = 0; i < count; i++)
                    {
                        var add = IStateCreate.CreateElement <T>();
                        _states.Add(add.Return_GDP() + " " + add.Return_Name(), add);
                    }

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

                case 3:
                    return;
                }
            }
        }