static void DeleteElement(Hashtable collection) { if (collection.Count == 0) { Console.Error.WriteLine("Удалять нечего: коллекция не имеет элементов"); return; } Console.WriteLine("Выберите элемент для удаления:"); int elementIndex = 1; foreach (DictionaryEntry element in collection) { Console.WriteLine(elementIndex + ") " + ((Experiment)element.Value).GetInformation()); elementIndex++; } int indexForDelete; while (!int.TryParse(Console.ReadLine(), out indexForDelete) || !(indexForDelete >= 1 && indexForDelete <= collection.Count)) { Console.Error.WriteLine("Введите от 1 до " + collection.Count); } HashtableHelper.RemoveAt(collection, indexForDelete - 1); Console.WriteLine("Удалено"); }
static void Main(string[] args) { // Часть 1 HashtableHelper.Add(CollectionExp, new Experiment()); HashtableHelper.Add(CollectionExp, new Test()); HashtableHelper.Add(CollectionExp, new Exam()); HashtableHelper.Add(CollectionExp, new HeadExam()); ShowMenu(); }
static void Clone(Hashtable collection) { if (collection.Count == 0) { Console.Error.WriteLine("Клонировать нечего: коллекция пуста"); return; } Hashtable newCollection = new Hashtable(); foreach (DictionaryEntry element in collection) { HashtableHelper.Add(newCollection, (Experiment)((Experiment)element.Value).Clone()); } Console.WriteLine("Клонированная коллекция:"); Print(newCollection); }
static void AddElement(Hashtable collection) { Console.WriteLine(@"Выберите что добавить: 1) Испытание 2) Тест 3) Экзамен 4) Выпускной экзамен"); int typeOfClass; while (!int.TryParse(Console.ReadLine(), out typeOfClass) || !(typeOfClass >= 1 && typeOfClass <= 4)) { Console.Error.WriteLine("Введите от 1 до 4"); } switch (typeOfClass) { // Испытание case 1: HashtableHelper.Add(collection, new Experiment(true)); break; // Тест case 2: HashtableHelper.Add(collection, new Test(true)); break; // Экзамен case 3: HashtableHelper.Add(collection, new Exam(true)); break; // Выпускной экзамен case 4: HashtableHelper.Add(collection, new HeadExam(true)); break; } Console.WriteLine("Добавлено"); }