예제 #1
0
 private static void PrintStudents(Student[] students)
 {
     foreach (var item in students)
     {
         Console.WriteLine(item);
     }
 }
 static void Main(string[] args)
 {
     Student[] groups = new Student[]
         {
             new Student("Celine", "Dion",14),
             new Student("Celine", "Youknowwho",22),
             new Student("Who", "Doctor",29)
         };
     Console.WriteLine("The entered names are Celine Dion(age 14), Celine Youknowwho(age 22), Who Doctor(age 29)");
     Console.WriteLine("Result:");
     FindStudents(groups);
     Console.WriteLine("Result for age:");
     AgeRange(groups);
     Console.WriteLine("Sorting using lambda expressions:");
     var sortedLambda =  groups.OrderByDescending(temp => temp.FirstName).ThenByDescending(temp => temp.LastName);
     foreach (var a in sortedLambda)
     {
         Console.WriteLine(a.FirstName +" " + a.LastName);
     }
     Console.WriteLine("Sorting using LINQ:");
     var sortedLINQ =
         from studs in groups
         orderby studs.FirstName descending, studs.LastName descending
         select studs;
     foreach (var stud in sortedLINQ)
     {
         Console.WriteLine(stud.FirstName + " " + stud.LastName);
     }
 }
        public static IEnumerable<Student> FirstNameBeforeLast(Student[] students)
        {
            var result =
                from student in students
                where student.FirstName.CompareTo(student.LastName) < 0
                select student;

            return result;
        }
예제 #4
0
        // Task 4 "Age range"
        public static Student[] FilterByAge(Student[] students)
        {
            var filters =
                from st in students
                where st.Age > 17 && st.Age < 25
                select st;

            return filters.ToArray();
        }
예제 #5
0
        // Task 3 "First before last"
        public static Student[] FilterStudentsByName(Student[] students)
        {
            var items =
            from st in students
            where st.FirstName.CompareTo(st.LastName) < 0
            select st;

            return items.ToArray();
        }
 public static void FindStudents(Student[] array)
 {
     var group =
         from stud in array
         where stud.FirstName[0] < stud.LastName[0]
         select stud;
     foreach( var stud in group)
     {
         Console.WriteLine(stud.FirstName + " " + stud.LastName);
     }
 }
 public static void AgeRange(Student[] array)
 {
     var group =
         from stud in array
         where stud.Age>=18 && stud.Age<=24
         select stud;
     foreach (var stud in group)
     {
         Console.WriteLine(stud.FirstName + " " + stud.LastName);
     }
 }
        static void Main()
        {
            Student[] studentsArray = new Student[] {
                new Student("Gosho", "Toshev"),
                new Student("Dimitar", "Vasilev"),
                new Student("Vasil", "Dimitrov"),
                new Student("Jeliazko", "Momchilov")};

            var FindStdUnderCondition =
                from student in studentsArray
                where student.FirstName.CompareTo(student.LastName) < 0
                select student;

            foreach (var student in FindStdUnderCondition)
            {
                Console.WriteLine(student.FirstName + " " + student.LastName);
            }
        }
예제 #9
0
        static void Main(string[] args)
        {
            // Problem 3: Write a method that from a given array of 
            //students finds all students whose first name is before its last name alphabetically.

            Console.WriteLine("Students whose first name is before their last alphabetically:\n");
            Student[] students = new Student[] { new Student("Andrey", "Mitev"), new Student("Mile", "Andreev") };
            Student[] filtered = FilterStudentsByName(students);
            PrintStudents(filtered);

            // Problem 4: Write a LINQ query that finds the first name and last name of all students with age between 18 and 24.
            students = new Student[] { 
                new Student("Ivan", "Peshev", 22), 
                new Student("Dimitar", "Dimitrov", 65),
                new Student("Ivan", "Toshev", 13),
                new Student("Atanas", "Mladenov", 18),
                new Student("Kaloyan", "Mladenov", 28)
            };

            filtered = FilterByAge(students);

            Console.WriteLine("\nFiltered by age:");
            PrintStudents(filtered);

            // Problem 5: Using the extension methods OrderBy() and ThenBy() with 
            // lambda expressions sort the students by first name and last name in descending order.

            Console.WriteLine("\nSorted students:");
            students = students.OrderByDescending(x => x.FirstName).ThenByDescending(x => x.LastName).ToArray();
            PrintStudents(students);

            // Same thing done with LINQ

            var sorted =
                from student in students
                orderby student.FirstName descending, student.LastName descending
                select student;
            Console.WriteLine("\nSorted with LINQ:");
            PrintStudents(sorted.ToArray());

        }
        public static void Main()
        {
            Student[] students = new Student[]
            {
                new Student("Zornitsa", "Ivanova", 26),
                new Student("Ivan", "Simeonov", 34),
                new Student("Albena", "Angelova", 20),
                new Student("Daniel", "Popov", 22),
                new Student("Stefan", "Nikolov", 29),
                new Student("Petar", "Georgiev", 28),
                new Student("Maria", "Petrova", 36),
            };

            //Students before sorting

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

            Console.WriteLine("\n3. First before last:\n");

            var sortedStudents = FirstNameBeforeLast(students);
            //3. First before last

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

            Console.WriteLine("\n4. Fist name + Last name, age: 18-24:\n");

            //4. Age range
            var ageRange =
                from student in students
                where student.Age >= 18 && student.Age <= 24
                select student.FirstName + " " + student.LastName;

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

            Console.WriteLine("\n5. Order students\n");

            //5. Order students
            var studentInDescendingOrder = students
                .OrderByDescending(st => st.FirstName)
                .ThenByDescending(st => st.LastName);

            foreach (var student in studentInDescendingOrder)
            {
                Console.WriteLine(student);
            }
            //Using LINQ
            var studentInDescendingOrderLINQ =
                from student in students
                orderby student.FirstName descending, student.LastName descending
                select student;

            Console.WriteLine();
            foreach (var student in studentInDescendingOrderLINQ)
            {
                Console.WriteLine(student);
            }
        }
        static void Main()
        {
            var students = new Student[]
            {
                new Student("Ivan", "Petkov", 15),
                new Student("Angel", "Georgiev", 25),
                new Student("Pesho", "Atanasov", 23),
                new Student("Stoqn", "Dimitrov", 19),
                new Student("Angel", "Ivanov", 33),
            };

            //Problem 3. First before last

            //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.

            var filteredStudents =
                from student in students
                where student.FirstName.CompareTo(student.LastName) < 0
                select student;

            Console.WriteLine("Students whose first name is before its last name:");

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

            //Problem 4. Age range

            //Write a LINQ query that finds the first name and last name of all students with age between 18 and 24.

            var studentsAgeRange =
                from student in students
                where student.Age >= 18 && student.Age <= 24
                select student;

            Console.WriteLine("\nStudents with age between 18 and 24:");

            foreach (var student in studentsAgeRange)
            {
                Console.WriteLine(student.FirstName + " " + student.LastName);
            }

            //Problem 5. Order students

            //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.

            Console.WriteLine("\nOrdered students:");

            //using extension methods
            var sortedStudentsExt = students.OrderByDescending(st => st.FirstName).ThenByDescending(st => st.LastName);

            Console.WriteLine("Using extension methods.");

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

            //using LINQ query
            var sortedStudentsLinqQuery =
                from student in students
                orderby student.FirstName descending, student.LastName descending
                select student;

            Console.WriteLine("\nUsing LINQ query.");

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