Example #1
0
        static void Main()
        {
            //initialize an array of students
            Student[] studentArr= new Student[5] {
                new Student("Kristina", "Georgieva", 23),
                new Student("Ivan", "Georgiev", 19), 
                new Student("Georgi", "Mariyanov", 21), 
                new Student("Georgi", "Ivanov", 25),
                new Student("Maria","Dimitrova", 33),
            };

            var selectedByTwoNames = StudentQueries.SelectFirstBeforeLastName(studentArr);
            //var selectedByTwoNames = StudentQueries.SelectFirstBeforeLastNameLambda(studentArr);
            Console.WriteLine("By names (first name before last name):\n");
            foreach (var student in selectedByTwoNames)
            {
                Console.WriteLine(student);
            }

            Console.WriteLine("------------\nBy age:\n");
            var selectedByAge = StudentQueries.SelectByAgeBetween18_24(studentArr);
            //var selectedByAge = StudentQueries.SelectByAgeBetween18_24Labda(studentArr);
            foreach (var student in selectedByAge)
            {
                Console.WriteLine(student);
            }

            Console.WriteLine("--------------\nOrdered descending:\n");
            StudentQueries.OrderStudentsByName(studentArr);
            //StudentQueries.OrderStudentsByNameLambda(studentArr);
            foreach (var student in studentArr)
            {
                Console.WriteLine(student);
            }
        }
Example #2
0
 public static void FirstBeforeLastName(Student[] students)
 {
     var result =
         from student in students
         where (student.FirstName[0]).CompareTo(student.LastName[0]) < 0
         select student;
     Console.WriteLine("First name before last name: {0}", string.Join(", ", result).ToString());
 }
Example #3
0
 public static void AgeRange(Student[] students)
 {
     var result =
         from student in students
         where student.Age >= 18 && student.Age <= 24
         select student;
     Console.WriteLine("Age between 18 and 24: {0}", string.Join(", ", result).ToString());
 }
        //04
        //04.Write a LINQ query that finds the first name and last name of all students with age between 18 and 24.
        public static IEnumerable<Student> SelectByAgeBetween18_24(Student[] arr)
        {
            var selected =
                from student in arr
                where student.Age >= 18 && student.Age < +24
                select student;

            return selected;
        }
        //03
        //03.Write a method that from a given array of students finds all students whose 
        //first name is before its last name alphabetically. Use LINQ query operators.
        public static IEnumerable<Student> SelectFirstBeforeLastName(Student[] arr)
        {
            var selected =
                from student in arr
                where student.FirstName.CompareTo(student.LastName) < 0
                select student;

            return selected;
        }
 //using lambda predicate
 public static void OrderStudentsByNameLambda(Student[] arr)
 {
     var ordered = arr.OrderByDescending(s => s.FirstName).ThenByDescending(s => s.LastName);
     int counter = 0;
     foreach (var student in ordered)
     {
         arr[counter] = student;
         counter++;
     }
 }
        //05
        //05.Using the extension methods OrderBy() and ThenBy() with lambda expressions 
        //sort the students by first name and last name in descending order. Rewrite the same with LINQ.
        public static void OrderStudentsByName(Student[] arr)
        {
            var selected = 
                from student in arr
                orderby student.FirstName descending, student.LastName descending
                select student;

            //overwrite the array (without ref as it is a reference type)
            int counter = 0;
            foreach (var student in selected)
            {
                arr[counter] = student;
                counter++;
            }
        }
Example #8
0
 static void Main()
 {
     Student[] students = new Student[]
     {
         new Student("Ivan", "Ivanov", 20),
         new Student("Peter", "Ivanov", 21),
         new Student("Ivan", "Petrov", 17),
         new Student("Georgi", "Ivanov", 19),
         new Student("Ivan", "Georgiev", 28),
         new Student("Georgi", "Petrov", 18),
         new Student("Peter", "Georgiev", 25),
         new Student("Georgi", "Georgiev", 23)
     };
     Student.FirstBeforeLastName(students);
     Console.WriteLine();
     Student.AgeRange(students);
     Console.WriteLine();
     Student.OrderStudents(students);
 }
Example #9
0
        public static void OrderStudents(Student[] students)
        {
            var result = students
                .OrderByDescending(student => student.FirstName)
                .ThenByDescending(student => student.LastName);
            Console.WriteLine("Sort descending with extension metods: {0}", string.Join(", ", result).ToString());

            Console.WriteLine();

              result =
                from student in students
                orderby student.FirstName descending,
                student.LastName descending
                select student;
            Console.WriteLine("Sort descending with LINQ: {0}", string.Join(", ", result).ToString());
        }
Example #10
0
 //using lambda predicate
 public static IEnumerable<Student> SelectByAgeBetween18_24Labda(Student[] arr)
 {
     var selected = arr.Where(student => student.Age >= 18 && student.Age <= 24);
     return selected;
 }
Example #11
0
 //using lambda predicate
 public static IEnumerable<Student> SelectFirstBeforeLastNameLambda(Student[] arr)
 {
     var selected = arr.Where(student => student.FirstName.CompareTo(student.LastName) < 0);
     return selected;
 }