Пример #1
0
        public static void StudentByGollege()
        {
            var studentGroups = Student.GetAllStudents().GroupBy(x => x.College);

            //var studentGroups = from students in Student.GetAllStudents()
            //                    group students by students.College into sGroup
            //                    orderby sGroup.Key
            //                    select new { Key=sGroup.Key, Students=sGroup};
            foreach (var item in studentGroups)
            {
                Console.WriteLine(item.Key + " - " + item.Count(x => x.Gender == "Male") + " " + item.Max(x => x.Age));
                foreach (var student in item)
                {
                    Console.WriteLine($"{student.FirstName} {student.LastName} {student.Gender}");
                }
            }
        }
Пример #2
0
        public static void Deferred()
        {
            var allStudents   = Student.GetAllStudents().ToList();
            var femaleStudent = from student in allStudents
                                where student.Gender == "Female"
                                select student;

            //var femaleStudent = (from student in allStudents
            //                    where student.Gender == "Female"
            //                    select student).ToList();
            allStudents.Add(new Student {
                FirstName = "Anisa", LastName = "Sadieva", Gender = "Female"
            });
            foreach (var item in femaleStudent)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName);
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            IEnumerable <string> names = Student.GetAllStudents().Select(s => s.FirstName + " " + s.LastName);

            foreach (var item in names)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("########################################");


            IEnumerable <string> myCourses = Student.GetAllStudents().SelectMany(s => s.Courses).Distinct();

            foreach (var item in myCourses)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("########################################");


            IEnumerable <string> myCoursesSQL = (from student in Student.GetAllStudents()
                                                 from course in student.Courses
                                                 select course).Distinct();

            foreach (var item in myCourses)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("########################################");

            var students = Student.GetAllStudents().SelectMany(s => s.Courses, (s, course) => new { Name = s.FirstName + " " + s.LastName, Course = course });

            foreach (var item in students)
            {
                Console.WriteLine(item.Name + '\t' + item.Course);
            }
            Console.WriteLine("########################################");

            var studentsSQL = from student in Student.GetAllStudents()
                              from course in student.Courses
                              select new { Name = student.FirstName + " " + student.LastName, Course = course };

            foreach (var item in studentsSQL)
            {
                Console.WriteLine(item.Name + '\t' + item.Course);
            }
            Console.WriteLine("########################################");

            var studentsOrderBy = Student.GetAllStudents().OrderBy(s => s.LastName).ThenBy(s => s.FirstName);// or OrderByDescending() / ThenByDescending()

            //var SQLversion = from student in Student.GetAllStudents()
            //          orderby student.LastName, student.FirsName descending // or ascending
            //          select student;
            foreach (var item in studentsOrderBy)
            {
                Console.WriteLine(item.LastName + '\t' + item.FirstName);
            }
            Console.WriteLine("########################################");

            var studentsReverse = (from student in Student.GetAllStudents()
                                   select student).Reverse();

            foreach (var item in studentsReverse)
            {
                Console.WriteLine(item.LastName + '\t' + item.FirstName);
            }
            Console.WriteLine("########################################");

            DeferredExecution.Deferred();
            Console.WriteLine("########################################");

            GroupBy.StudentByGollege();
            Console.ReadKey();
        }