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();
        }