//Запросы private void Queries <T>() { string[] queriesMenu = { "Кол-во объектов.", "Печать объектов.", "Перегенерировать объекты", "Назад." }; while (true) { var sw = Use.Menu(0, "Выберите нужную опцию:", queriesMenu); switch (sw) { case 1: var count = 0; foreach (var person in _stack) { try { var element = (T)person; count++; } catch { // ignored } } Console. WriteLine("Кол-во объектов выбранного типа = {0}.\n\n\nДля продолженния нажать на любую клавишу...", count); Console.ReadKey(true); break; case 2: Console.WriteLine("Объекты выбранного типа: "); foreach (var person in _stack) { try { var element = (T)person; IPersonCreate.Show(element); } catch { // ignored } } Console.WriteLine("\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 3: count = 0; var array = _stack.ToArray(); foreach (var person in _stack) { try { var element = (T)person; RemoveFromArray(ref array, (IPerson)element); count++; } catch { // ignored } } CreateStack(array); for (var i = 0; i < count; i++) { _stack.Push(IPersonCreate.CreateElement <T>()); } Console. WriteLine("Объекты выбранного типы были перезаписаны.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 4: return; } } }
public void Start() { string[] mainMenu = { "Создать очередь", "Проверка свойств коллекции.", "Проверка метода Contains", "Проверка метода Clear", "Проверка метода Dequeue", "Проверка метода Enqueue", "Проверка метода Peek", "Проверка метода ToArray", "Проверка метода Clone", "Проверка метода CopyTo", "Выход" }; int k = 9; while (true) { int sw = Use.Menu(k, "Выберите действие:", mainMenu); switch (sw) { case 1: k = Create(); break; case 2: CurrentQueue(); Console.WriteLine("\nОбъем коллекции: {0}", queue.Capacity); Console.WriteLine("\nКол-во элементов в последовательности: {0}", queue.Count); Continue(); break; case 3: CurrentQueue(); IPerson person1 = new Worker("Никич", "Семёнов", 48, 15000); IPerson person2 = queue.Peek(); Console.WriteLine("\nЧеловек " + person1.Return_se_name() + " " + person1.Return_name() + " содержиться ли в очереди?\n{0}", queue.Contains(person1)); Console.WriteLine("\nЧеловек " + person2.Return_se_name() + " " + person2.Return_name() + " содержиться ли в очереди?\n{0}", queue.Contains(person2)); Continue(); break; case 4: CurrentQueue(); queue.Clear(); Console.WriteLine("Очередь очищена..."); k = 0; Continue(); break; case 5: CurrentQueue(); IPerson person = queue.Dequeue(); Console.WriteLine("\nВывели человека: "); person.Show(); Console.WriteLine("\nОчередь после изменения: "); CurrentQueue(); Continue(); break; case 6: CurrentQueue(); IPerson add = IPersonCreate.CreateElement <Engineer>(); Console.WriteLine("\nДобавим в конец списка: "); add.Show(); queue.Enqueue(add); Console.WriteLine("\nОчередь после изменения: "); CurrentQueue(); Continue(); break; case 7: CurrentQueue(); person = queue.Peek(); Console.WriteLine("\nВывели человека: "); person.Show(); Console.WriteLine("\nОчередь не изменена: "); CurrentQueue(); Continue(); break; case 8: CurrentQueue(); IPerson[] array = queue.ToArray(); Console.WriteLine("Вывод массива: "); Output(array); Continue(); break; case 9: CurrentQueue(); MyQueue <IPerson> clone = new MyQueue <IPerson>(queue); Console.WriteLine("Вывод копии: "); MyQueueWork cloneMyQueueWork = new MyQueueWork(clone); cloneMyQueueWork.Output(); break; case 10: CurrentQueue(); queue.CopyTo(out array, queue.Count / 2); Console.WriteLine("Вывод массива: "); Output(array); Continue(); break; case 11: return; } } }
//Запросы private void Queries <T>() { string[] queriesMenu = { "Количество объектов", "Печать объектов", "Перегенерировать объекты", "Назад" }; while (true) { var sw = Use.Menu(0, "Выберите нужный пункт:", queriesMenu); switch (sw) { case 1: var count = 0; foreach (var key in _persons.Keys) { try { var element = (T)_persons[key]; count++; } catch { // ignored } } Console. WriteLine("Кол-во объектов выбранного типа = {0}.\n\n\nДля продолженния нажать на любую клавишу...", count); Console.ReadKey(true); break; case 2: Console.WriteLine("Объекты выбранного типа: "); foreach (var key in _persons.Keys) { try { var element = (T)_persons[key]; IPersonCreate.Show(element); } catch { // ignored } } Console.WriteLine("\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 3: count = 0; var tmp = new SortedDictionary <string, IPerson>(ClonaDictionary()); foreach (var key in tmp.Keys) { try { var element = (T)_persons[key]; _persons.Remove(key); count++; } catch { // ignored } } for (var i = 0; i < count; i++) { var add = IPersonCreate.CreateElement <T>(); _persons.Add(add.Return_se_name() + " " + add.Return_name(), add); } Console. WriteLine("Объекты выбранного типы были перезаписаны.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 4: return; } } }