private void AddInCollections(StudentFromAbstract student) { listStudents.Add(student); listString.Add(student.ToString()); dictPerson.Add(student.BasePerson, student); dictString.Add(student.ToString(), student); }
public void DeleteElem() { if (listString.Count == 0) { Console.WriteLine("Коллекции пусты!"); return; } GetStudentInfo(out string name, out int age, out string gender, out int course, out double avgGrades); var student = new StudentFromAbstract(name, age, gender, course, avgGrades); if (!listString.Contains(student.ToString())) { Console.WriteLine("Элемент не найден!"); return; } else { student = dictString[student.ToString()]; } listStudents.Remove(student); listString.Remove(student.ToString()); dictPerson.Remove(student.BasePerson); dictString.Remove(student.ToString()); }
private void FindItem(StudentFromAbstract student, string message) { var watch = new Stopwatch(); var foundItem = new StudentFromAbstract(); Console.WriteLine(message + student.ToString()); Console.WriteLine("Поиск в первой коллекции (List<StudentFromAbstract>):"); watch.Start(); if (listStudents.Contains(student)) { foundItem = new StudentFromAbstract(student.Name, student.Age, student.Gender, student.Course, student.AverageGrades); watch.Stop(); Console.WriteLine("Элемент найден!"); } else { watch.Stop(); Console.WriteLine("Элемент не найден!"); } Console.WriteLine("Время поиска:" + watch.ElapsedTicks); Console.WriteLine(); watch.Reset(); Console.WriteLine("Поиск во второй коллекции (List<string>):"); watch.Start(); if (listString.Contains(student.ToString())) { foundItem = new StudentFromAbstract(student.Name, student.Age, student.Gender, student.Course, student.AverageGrades); watch.Stop(); Console.WriteLine("Элемент найден!"); } else { watch.Stop(); Console.WriteLine("Элемент не найден!"); } Console.WriteLine("Время поиска:" + watch.ElapsedTicks); Console.WriteLine(); watch.Reset(); Console.WriteLine("Поиск в третьей коллекции (по ключу) (Dictionary<PersonAbstract, StudentFromAbstract>):"); watch.Start(); if (dictPerson.ContainsKey(student.BasePerson)) { foundItem = new StudentFromAbstract(student.Name, student.Age, student.Gender, student.Course, student.AverageGrades); watch.Stop(); Console.WriteLine("Элемент найден!"); } else { watch.Stop(); Console.WriteLine("Элемент не найден!"); } Console.WriteLine("Время поиска:" + watch.ElapsedTicks); Console.WriteLine(); watch.Reset(); Console.WriteLine("Поиск в третьей коллекции (по значению) (Dictionary<PersonAbstract, StudentFromAbstract>):"); watch.Start(); if (dictPerson.ContainsValue(student)) { foundItem = new StudentFromAbstract(student.Name, student.Age, student.Gender, student.Course, student.AverageGrades); watch.Stop(); Console.WriteLine("Элемент найден!"); } else { watch.Stop(); Console.WriteLine("Элемент не найден!"); } Console.WriteLine("Время поиска:" + watch.ElapsedTicks); Console.WriteLine(); watch.Reset(); Console.WriteLine("Поиск в четвертой коллекции (Dictionary<string, StudentFromAbstract>):"); watch.Start(); if (dictString.ContainsKey(student.ToString())) { foundItem = new StudentFromAbstract(student.Name, student.Age, student.Gender, student.Course, student.AverageGrades); watch.Stop(); Console.WriteLine("Элемент найден!"); } else { watch.Stop(); Console.WriteLine("Элемент не найден!"); } Console.WriteLine("Время поиска:" + watch.ElapsedTicks); Console.WriteLine(); watch.Reset(); }