static void Main() { Student[] test = new Student[5]; test[0] = new Student("Ivan", "Petrov", 18); test[1] = new Student("Georgi", "Asenov", 22); test[2] = new Student("Georgi", "Georgiev", 31); test[3] = new Student("Angel", "Kostov", 19); test[4] = new Student("Valeri", "Vasilev", 27); Student[] alphabeticalFilter = AlphabeticalArrange(test); Console.WriteLine("Students, filtered by first name before last name alphabetically: "); Console.WriteLine(new string('-', 65)); Print(alphabeticalFilter); Console.WriteLine(); Student[] ageFilter = AgeArrange(test); Console.WriteLine("Students, filtered by Age: "); Console.WriteLine(new string('-', 65)); Print(ageFilter); Console.WriteLine(); Student[] descendingOrderFilter = DescendingOrder(test); Console.WriteLine("Students, filtered by first and last name in descending order: "); Console.WriteLine(new string('-', 65)); Print(descendingOrderFilter); }
public static void Print(Student[] input) { for (int i = 0; i < input.Length; i++) { Console.WriteLine("Full name: {0}", input[i].FirstName + " " + input[i].LastName); Console.WriteLine("Age: {0}", input[i].Age); Console.WriteLine(); } }
// Problem 5. Order students public static Student[] DescendingOrder(Student[] input) { // var result = input.OrderByDescending(first => first.FirstName).ThenByDescending(last => last.LastName); var result = from st in input orderby st.FirstName descending, st.LastName descending select st; return result.ToArray(); }
// Problem 3. First before last public static Student[] AlphabeticalArrange(Student[] input) { //var result = input.Where(x => x.FirstName.CompareTo(x.LastName) < 0); var result = from st in input where st.FirstName.CompareTo(st.LastName) < 0 orderby st.FirstName select st; return result.ToArray(); }
// Problem 4. Age range public static Student[] AgeArrange(Student[] input) { //var result = input.Where(st => st.Age >= 18 && st.Age <= 24); var result = from st in input where st.Age >= 18 && st.Age <= 24 orderby st.Age select st; return result.ToArray(); }