コード例 #1
0
ファイル: SULSTest.cs プロジェクト: nok32/SoftUni
        public static void Main()
        {
            Person test1 = new Person("Test1", "Test", 20);
            Trainer test2 = new Trainer("Test2", "Test", 20);
            JuniorTrainer test3 = new JuniorTrainer("Test3", "Test", 20);
            SeniorTrainer test4 = new SeniorTrainer("Test4", "Test", 20);
            GraduateStudent test5 = new GraduateStudent("Test5", "Test", 20, "123", 5.23d);
            DropoutStudent test6 = new DropoutStudent("Test6", "Test", 20, "123", 4.23d, "Low average grade");
            CurrentStudent test7 = new CurrentStudent("Test7", "Test", 20, "123", 5.48d, "OOP");
            OnlineStudent test8 = new OnlineStudent("Test8", "Test", 20, "123", 5.48d, "OOP");
            OnsiteStudent test9 = new OnsiteStudent("Test9", "Test", 20, "123", 3.23d, "OOP", 2);

            test2.CreateCourse("OOP");
            test3.CreateCourse("OOP");
            test4.DeleteCourse("OOP");

            List<Person> persons = new List<Person>() { test1, test2, test3, test4, test5, test6, test7, test8, test9 };
          
            var currentStudents = persons
                            .Where(person => person is CurrentStudent) 
                            .OrderBy(person => ((Student)person).AverageGrade)
                            .Select(person => person);

            foreach (var student in currentStudents)
            {
                Console.WriteLine(student);
            }
        }
コード例 #2
0
        internal static void Main()
        {
            // test trainer methods
            var juniorTrainer = new JuniorTrainer("Elena", "Bojilova", 24);
            var seniorTrainer = new SeniorTrainer("Filip", "Kolev", 25);

            juniorTrainer.CreateCourse("OOP");
            seniorTrainer.CreateCourse("HQC");
            seniorTrainer.DeleteCourse("OOP");
            Console.WriteLine();

            // test Reapply() method
            var applicant = new DropoutStudent("Prekusnal", "Student", 21, 1222, 3.03, "Murzi me");

            applicant.Reapply();
            Console.WriteLine();

            // Create a list of objects from each class
            var people = new List <Person>
            {
                new JuniorTrainer("Ivan", "Ivanov Jr.", 19),
                new SeniorTrainer("Ivan", "Ivanov Sr.", 45),
                new DropoutStudent("Misho", "Mihaylov", 25, 1234, 3.5, "Mrazim da mislim"),
                new GraduateStudent("Viktor", "Kazakov", 31, 1235, 5.25),
                new OnlineStudent("Elena", "Bojilova", 23, 1236, 5.75, "OOP"),
                new OnlineStudent("Pavleta", "Taseva", 21, 1237, 5.5, "OOP"),
                new OnsiteStudent("Svetlin", "Nakov", 34, 1238, 6, "OOP", 15),
            };

            // Extract only the Current Students, sort them by average grade
            var sortedCurrentStudents =
                people.Where(a => a is CurrentStudent)
                .Cast <CurrentStudent>()
                .OrderBy(a => a.AverageGrade);

            // printing
            Console.WriteLine("List of current students (sorted by average grade):");
            Console.WriteLine();

            foreach (var student in sortedCurrentStudents)
            {
                Console.WriteLine(student);
            }
        }