//Клон private void Clone() { Console.WriteLine("Исходный словарь: "); Output(); Console.WriteLine("\n\n\nСклонированный стэк: "); var clone = new SortedDictionaryWork(CloneDictionary()); clone.Output(); }
static void Main(string[] args) { ArrayList STATE = new ArrayList(); State[] states = new State[50]; bool ok = true; while (ok) { int choice = LiveMenu.Menu(headlines[0], paragraphs); switch (choice) { case 0: //Создание коллекции states = CreateCollection(); Console.ReadLine(); break; case 1: //Просмотр коллекции if (states[0] != null) { OutputArray(states); } else { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); } Console.ReadLine(); break; case 2: //Удаление объекта с заданным номером if (states[0] != null) { DeleteElement(ref states); } else { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); } Console.ReadLine(); break; case 3: //Добавление объекта if (states[0] != null) { STATE = Add(ref states); states = (State[])STATE.ToArray(typeof(State)); //преобразуем коллекцию в массив элементов типа State } else { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); Console.ReadLine(); } break; case 4: //Работа с запросами int task = LiveMenu.Menu(headlines[0], requests); switch (task) { case 0: //Вывести количество объектов коллекции на данный момент Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n Количество объектов в коллекции на данный момент: "); Console.ForegroundColor = ConsoleColor.White; Console.Write(State.counter); Console.ReadLine(); break; case 1: //Поиск объекта в коллекции if (states[0] == null) { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); Console.ReadLine(); } else { int sure = LiveMenu.Menu(" Коллекция будет отсортирована, вы уверены?", proof); switch (sure) { case 0: StateInterface[] StateSearch = states; FindState(StateSearch); break; case 1: break; } } break; case 2: //Вывод республик if (states[0] == null) { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); Console.ReadLine(); } else { int R_counter = 0; for (int i = 0; i < states.Length; i++) { if (states[i].t == "парламентарная" || states[i].t == "президентская" || states[i].t == "смешанная") { states[i].Show(); R_counter++; } } Console.WriteLine("\n Количество республик в коллекции: " + R_counter); Console.Write("\n " + end); Console.ReadLine(); } break; case 3: //Клонирование коллекции Clone(states); Console.ReadLine(); break; case 4: //Сортировка коллекции if (states[0] != null) { StateInterface[] StateSort = states; StateSort = Sort(StateSort); states = (State[])StateSort; OutputArray(states); } else { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(" Сначала необходимо создать коллекцию."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); } Console.ReadLine(); break; case 5: break; } break; case 5: var dictionary = new SortedDictionaryWork(); //IEnumerator myEnumerator = // dictionary.GetEnumerator(); dictionary.Start(); break; case 6: ok = false; break; } } }