static void Main(string[] args) { Student s1 = new Student("Andrew", "Troelsen", 25); Student s2 = new Student("Alex", "Lafrok", 18); Student s3 = new Student("Anna", "Jordan", 20); Student s4 = new Student("Inna", "Gizmos", 15); Student s5 = new Student("Kate", "Sven", 29); Student s6 = new Student("John", "Maxfil", 19); Student s7 = new Student("Max", "Volterin", 33); Student s8 = new Student("Shone", "Zumberg", 23); Student s9 = new Student("Martin", "Lalakopt", 27); Student s10 = new Student("Bill", "Canbeam", 17); List <Student> students = new List <Student>() { s1, s2, s3, s4, s5, s6, s7, s8, s9, s10 }; StudentPredicateDelegate myDelegate = Student.isFirstName; myDelegate += Student.isLastName; myDelegate += Student.isAge; List <Student> task8 = students.FindStudent(myDelegate); Console.WriteLine("task 8:"); task8.ShowOnScreen(); List <Student> task9 = students.FindStudent( new StudentPredicateDelegate( student => student.Age >= 18 && student.FirstName[0] == 'A' && student.LastName.Length > 3 )); Console.WriteLine("task 9:"); task9.ShowOnScreen(); List <Student> task10 = students.FindStudent( new StudentPredicateDelegate( student => student.Age >= 20 && 25 >= student.Age )); Console.WriteLine("task 10:"); task10.ShowOnScreen(); List <Student> task11 = students.FindStudent( new StudentPredicateDelegate( student => student.FirstName == "Andrew" )); Console.WriteLine("task 11:"); task11.ShowOnScreen(); List <Student> task12 = students.FindStudent( new StudentPredicateDelegate( student => student.LastName == "Troelsen" )); Console.WriteLine("task 11:"); task12.ShowOnScreen(); }
static void Main(string[] args) { List <Student> Student_List = new List <Student>(); List <Student> Result_List = new List <Student>(); Student_List.Add(new Student("Vania", "Petrenko", 17)); Student_List.Add(new Student("Kiril", "Danilenko", 19)); Student_List.Add(new Student("Vadim", "Petruk", 18)); Student_List.Add(new Student("Anna", "Klimenuk", 18)); Student_List.Add(new Student("Andrew", "Petrath", 16)); Student_List.Add(new Student("Ilia", "Makosiy", 17)); Student_List.Add(new Student("Vasia", "Petrovich", 16)); Student_List.Add(new Student("Anton", "Berezeckiy", 20)); Student_List.Add(new Student("Yaroslav", "Troeslen", 25)); Student_List.Add(new Student("Yaroslav", "Tarasenko", 25)); Student_List.Add(new Student("Petro", "Bojko", 25)); StudentPredicateDelegate check = Student.Check_Last_Name; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = Student.Check_First_Name; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = Student.Check_Age; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.Age >= 18; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.FirstName[0] == 'A'; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.LastName.Length > 3; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.Age > 20 && s.Age <= 25; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.FirstName == "Andrew"; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); check = (s) => s.LastName == "Troeslen"; Result_List = Student_List.FindStudent(check); Result_List.Show_List(); }
static void Main(string[] args) { List <Student> group = new List <Student>(); group.Add(new Student("Axel", "Troelsen", 16)); group.Add(new Student("Kira", "Noy", 18)); group.Add(new Student("Sergey", "Bekov", 21)); group.Add(new Student("Yana", "Zol", 15)); group.Add(new Student("Dan", "Kekoranikadze", 14)); group.Add(new Student("Andrew", "Temin", 13)); group.Add(new Student("Anton", "Yamen", 20)); group.Add(new Student("Anya", "Hik", 24)); group.Add(new Student("ARA", "Kove", 34)); group.Add(new Student("Sidr", "Love", 17)); StudentPredicateDelegate Find = Student.IsAdult; Find += Student.IsFirstNameA; Find += Student.IsLastNamelong; foreach (Student el in group.FindStudent(Find)) { Student.Info(el); } Console.WriteLine("\n"); StudentPredicateDelegate FindAndrew = (Student person) => (person.FirstName == "Andrew"); foreach (Student el in group.FindStudent(FindAndrew)) { Student.Info(el); } Console.WriteLine("\n"); StudentPredicateDelegate FindTwenty = (Student person) => (person.Age >= 20 && person.Age <= 25); foreach (Student el in group.FindStudent(FindTwenty)) { Student.Info(el); } Console.WriteLine("\n"); StudentPredicateDelegate FindTroelsen = (Student person) => (person.LastName == "Troelsen"); foreach (Student el in group.FindStudent(FindTroelsen)) { Student.Info(el); } Console.WriteLine("\n"); Console.Read(); }
public static List <Student> FindStudent(this List <Student> list, StudentPredicateDelegate studentPredicateDelegate) { List <Student> Result = new List <Student>(); foreach (Student student in list) { if (studentPredicateDelegate.Invoke(student)) { Result.Add(student); } } return(Result); }
public static List <Student> FindStudent(this List <Student> students, StudentPredicateDelegate studentPredicateDelegate) { List <Student> temp = new List <Student>(); foreach (Student student in students) { if (studentPredicateDelegate.Invoke(student)) { temp.Add(student); } } return(temp); }
public static List <Student> FindStudent(this List <Student> students, StudentPredicateDelegate Check_Student) { List <Student> result = new List <Student>(); foreach (Student l in students) { if (Check_Student(l)) { result.Add(l); } } return(result); }
public static List <Student> FindStudent(Student student, StudentPredicateDelegate studentPredicateDelegate) { List <Student> students = new List <Student>(); bool temp = studentPredicateDelegate(student); if (temp) { students.Add(student); } return(students); }
public static List <Student> Find_student(this List <Student> list, StudentPredicateDelegate something) { List <Student> Listik = new List <Student>(); foreach (Student el in list) { if (something.Invoke(el)) { Listik.Add(el); } } return(Listik); }
public static List <Student> FindStudent(this List <Student> list, StudentPredicateDelegate delegats) { List <Student> List = new List <Student>(); foreach (Student i in list) { if (delegats.Invoke(i)) { List.Add(i); } } return(List); }
public static List <Student> FindStudent(this List <Student> student, StudentPredicateDelegate studentDelegate) { List <Student> newStudentList = new List <Student>(); for (int i = 0; i < 10; i++) { if (studentDelegate(student[i])) { newStudentList.Add(student[i]); } } return(newStudentList); }
public static List <Student> FindStudent(this List <Student> list, StudentPredicateDelegate spd) { List <Student> reqList = new List <Student>(); foreach (Student st in list) { if (spd.Invoke(st)) { reqList.Add(st); } } return(reqList); }
public static List <Student> FindStudent(this List <Student> students, StudentPredicateDelegate studentPredicate) { var newStudents = new List <Student>(); foreach (var student in students) { if (studentPredicate(student)) { newStudents.Add(student); } } return(newStudents); }
public static List <Student> FindStudent(this List <Student> students, StudentPredicateDelegate @delegate) { List <Student> result = new List <Student>(); foreach (Student st in students) { if (@delegate.Invoke(st)) { result.Add(st); } } return(result); }
// 5 public static List <Student> FindStudent(this List <Student> List, StudentPredicateDelegate del) { // 6 List <Student> temp = new List <Student>(); foreach (Student i in List) { if (del(i)) { temp.Add(i); } } return(temp); }
public static List <Student> FindStudent(this List <Student> students, StudentPredicateDelegate studentPredicateDelegate) { //StudentPredicateDelegate del1 = Student.AgeMore18; //StudentPredicateDelegate del2 = Student.IsFirstLetterA; //StudentPredicateDelegate del3 = Student.IsLastNameMoreThanThreeSymbols; List <Student> sortList = new List <Student>(); for (int i = 0; i < students.Count; i++) { if (studentPredicateDelegate(students[i])) { sortList.Add(students[i]); } } return(sortList); }
public static List <Student> FindStudent(this List <Student> InStudents, StudentPredicateDelegate Pred) { if (InStudents.Count > 0) { List <Student> OutStudents = new List <Student>(); for (int i = 0; i < InStudents.Count; ++i) { if (Pred != null && Pred.Invoke(InStudents[i])) { OutStudents.Add(InStudents[i]); } } return(OutStudents); } return(null); }
public static List <Student> FindStudent(this List <Student> listSt) { StudentPredicateDelegate sDeleg1 = Student.Adult; StudentPredicateDelegate sDeleg2 = Student.Name; StudentPredicateDelegate sDeleg3 = Student.NameLength; List <Student> sortListSt = new List <Student>(); for (int i = 0; i < listSt.Count; i++) { if (sDeleg1(listSt[i]) && sDeleg2(listSt[i]) && sDeleg3(listSt[i])) { sortListSt.Add(listSt[i]); } } return(sortListSt); }
public static List <Student> FindStudent(this List <Student> listStud) { StudentPredicateDelegate Stud_Deleg_1 = Student.Age_Value; StudentPredicateDelegate Stud_Deleg_2 = Student.FirstName_Value; StudentPredicateDelegate Stud_Deleg_3 = Student.LastName_Value; List <Student> Sort_List_Stud = new List <Student>(); for (int i = 0; i < listStud.Count; i++) { if (Stud_Deleg_1(listStud[i]) && Stud_Deleg_2(listStud[i]) && Stud_Deleg_3(listStud[i])) { Sort_List_Stud.Add(listStud[i]); } } return(Sort_List_Stud); }
public static List <Student> FindStudent(this List <Student> listSt) { StudentPredicateDelegate sDeleg1 = Student.AgeCheck; StudentPredicateDelegate sDeleg2 = Student.FirstNameCheck; StudentPredicateDelegate sDeleg3 = Student.LastNameCheck; List <Student> sortListSt = new List <Student>(); for (int i = 0; i < listSt.Count; i++) { if (sDeleg1(listSt[i]) && sDeleg2(listSt[i]) && sDeleg3(listSt[i])) { sortListSt.Add(listSt[i]); } //sortListSt.Add(sDeleg1(listSt[i])? listSt[i]:null); } return(sortListSt); }
public static List <Student> FindStudent(this List <Student> list, StudentPredicateDelegate requirementlist) { List <Student> newlist = new List <Student>(); foreach (Student person in list) { bool check = true; foreach (StudentPredicateDelegate req in requirementlist.GetInvocationList()) { check = req(person) && check; } if (check) { newlist.Add(person); } } return(newlist); }
public static List <CharacteristicStudent> FindStudent(this List <CharacteristicStudent> students, StudentPredicateDelegate studentGroup) { List <CharacteristicStudent> studentsResult = new List <CharacteristicStudent>(); foreach (CharacteristicStudent student in students) { if (studentGroup.Invoke(student)) { studentsResult.Add(student); } } return(studentsResult); }
static void Main(string[] args) { // 7 List <Student> Students = new List <Student>(); Student num1 = new Student("Anthony", "Hopkins", 82); Student num2 = new Student("Andrew", "Garfield", 37); Student num3 = new Student("Scarlett", "Johansson", 36); Student num4 = new Student("Robert", "Downey", 55); Student num5 = new Student("Anya", "Taylor-Joy", 24); Student num6 = new Student("Chris", "Hemsworth", 37); Student num7 = new Student("Bruce", "Lee", 80); Student num8 = new Student("Sophia ", "Lillis", 16); Student num9 = new Student("Andrew", "Lloyd Webber", 72); Student num10 = new Student("Julian", "Dennison", 15); Students.Add(num1); Students.Add(num2); Students.Add(num3); Students.Add(num4); Students.Add(num5); Students.Add(num6); Students.Add(num7); Students.Add(num8); Students.Add(num9); Students.Add(num10); // 8 StudentPredicateDelegate age = Student.Adult; List <Student> newListOfStudents = Students.FindStudent(age); Console.WriteLine("Added adult students:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tNot found!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } // 8 StudentPredicateDelegate name = Student.AisFirstLetterOfFirstName; newListOfStudents = Students.FindStudent(name); Console.WriteLine("Added students with A as a first letter of their name:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tNot found!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } // 8 StudentPredicateDelegate surname = Student.MoreThan3LettersInLastName; newListOfStudents = Students.FindStudent(surname); Console.WriteLine("Добавлены ученики, у которых в фамилии больше трех букв:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); } Console.WriteLine("\n\t---To see task with anonymous functions press any key---"); Console.ReadKey(); Console.Clear(); // 9 StudentPredicateDelegate2 age2 = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (Student.Adult(i)) { temp.Add(i); } } return(temp); }; newListOfStudents = age2(Students); Console.WriteLine("Добавлены ученики, анонимными функциями:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } // 9 StudentPredicateDelegate2 name2 = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (Student.AisFirstLetterOfFirstName(i)) { temp.Add(i); } } return(temp); }; newListOfStudents = name2(Students); Console.WriteLine("Добавлены ученики,первая буква имени начинается на А, анонимные функции:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } //TASK 9 StudentPredicateDelegate2 surname2 = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (Student.MoreThan3LettersInLastName(i)) { temp.Add(i); } } return(temp); }; newListOfStudents = surname2(Students); Console.WriteLine("Добавлены ученики, у которых в фамилии больше трех букв, анонимные функции:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } //TASK 10 StudentPredicateDelegate2 age20_25 = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (i.Age >= 20 && i.Age <= 25) { temp.Add(i); } } return(temp); }; newListOfStudents = age20_25(Students); Console.WriteLine("Добавлены ученики возрастом от 20 до 25:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } // 11 StudentPredicateDelegate2 nameAndrew = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (i.FirstName == "Andrew") { temp.Add(i); } } return(temp); }; newListOfStudents = nameAndrew(Students); Console.WriteLine("Добавлен ученик с именем Andrew:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } // 12 StudentPredicateDelegate2 surnameTroelsen = delegate(List <Student> List) { List <Student> temp = new List <Student>(); foreach (Student i in List) { if (i.LastName == "Troelsen") { temp.Add(i); } } return(temp); }; newListOfStudents = surnameTroelsen(Students); Console.WriteLine("Добавлен ученик с фамилией Troelsen:\n"); if (newListOfStudents.Count == 0) { Console.WriteLine("\tТаких нет!\n"); } else { foreach (Student i in newListOfStudents) { i.StudentInfo(); } newListOfStudents.Clear(); Console.WriteLine(); } Console.ReadLine(); }
static void Main() { List <Student> myStudents = new List <Student>(); // 7 myStudents.Add(new Student("Буряк", "Роман", 33)); myStudents.Add(new Student("Вероівська", "Анастасія", 18)); myStudents.Add(new Student("Гаврилюк", "Валерій", 15)); myStudents.Add(new Student("Гень", "Олександр", 50)); myStudents.Add(new Student("Дзененко", "Владислав", 56)); myStudents.Add(new Student("Євтаєв", "Ярослав", 70)); myStudents.Add(new Student("Зозуля", "Роман", 23)); myStudents.Add(new Student("Івлєв", "Ростислав", 30)); myStudents.Add(new Student("Карнацький", "Станіслав", 47)); myStudents.Add(new Student("Коваль", "Дмитро", 40)); myStudents.Add(new Student("Troelsen", "Дмитро", 40)); myStudents.Add(new Student("Коваль", "Andrew", 40)); // 8 List <Student> myStudents2 = new List <Student>(); myStudents2 = Extension.FindStudent(myStudents, Student.AgeMore18); Console.WriteLine(myStudents2.Count); myStudents2 = Extension.FindStudent(myStudents, Student.IsFirstLetterA); Console.WriteLine(myStudents2.Count); myStudents2 = Extension.FindStudent(myStudents, Student.IsLastNameMoreThanThreeSymbols); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // 9 StudentPredicateDelegate del1 = Student.AgeMore18; StudentPredicateDelegate del2 = Student.IsFirstLetterA; StudentPredicateDelegate del3 = Student.IsLastNameMoreThanThreeSymbols; StudentPredicateDelegate del = del1 + del2 + del3; myStudents2 = Extension.FindStudent(myStudents, del); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // лямбда методы // 10 StudentPredicateDelegate del4 = delegate(Student student) { return(student.Age >= 20 && student.Age <= 25 ? true : false); }; myStudents2 = Extension.FindStudent(myStudents, del4); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // 11 StudentPredicateDelegate del5 = delegate(Student student) { return(student.FirstName == "Andrew" ? true : false); }; myStudents2 = Extension.FindStudent(myStudents, del5); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // 12 StudentPredicateDelegate del6 = delegate(Student student) { return(student.LastName == "Troelsen" ? true : false); }; myStudents2 = Extension.FindStudent(myStudents, del6); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // лямбда выражения // 10 StudentPredicateDelegate del7 = (Student student) => (student.Age >= 20 && student.Age <= 25 ? true : false); myStudents2 = Extension.FindStudent(myStudents, del7); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // 11 StudentPredicateDelegate del8 = (Student student) => (student.FirstName == "Andrew" ? true : false); myStudents2 = Extension.FindStudent(myStudents, del8); Console.WriteLine(myStudents2.Count); Console.WriteLine(); // 12 StudentPredicateDelegate del9 = (Student student) => (student.LastName == "Troelsen" ? true : false); myStudents2 = Extension.FindStudent(myStudents, del9); Console.WriteLine(myStudents2.Count); Console.WriteLine(); Console.ReadKey(); }
static void Main(string[] args) { /* ** Part 1 */ Product CreatedOne = new Product(); ProductLine Line = new ProductLine(); CreatedOne.ShowProgress(); ProductLineDelegate WorkToProceed = null; MethodInfo[] methodInfos = Type.GetType("Lab11.ProductLine").GetMethods(BindingFlags.Public | BindingFlags.Instance); for (int i = 0; i < methodInfos.Length; ++i) { if (methodInfos[i].GetParameters().Length == 1 && (methodInfos[i].GetParameters()[0].ParameterType.FullName == "Lab11.Product&")) { ProductLineDelegate TempDelegate = (ProductLineDelegate)Delegate.CreateDelegate(typeof(ProductLineDelegate), Line, methodInfos[i]); if (WorkToProceed != null) { WorkToProceed += (ProductLineDelegate)TempDelegate; } else { WorkToProceed = new ProductLineDelegate(TempDelegate); } } } WorkToProceed?.Invoke(ref CreatedOne); CreatedOne.ShowProgress(); /* ** Part 2 */ List <Student> Students = new List <Student>(); Students.Add(new Student { FirstName = "asadsad", LastName = "Asdadb", Age = 18 }); Students.Add(new Student { FirstName = "sdsadsab", LastName = "Adsac", Age = 28 }); Students.Add(new Student { FirstName = "cdsada", LastName = "ssd", Age = 83 }); Students.Add(new Student { FirstName = "dds", LastName = "e", Age = 48 }); Students.Add(new Student { FirstName = "sssse", LastName = "sf", Age = 5 }); Students.Add(new Student { FirstName = "Addf", LastName = "g", Age = 6 }); Students.Add(new Student { FirstName = "Adsag", LastName = "h", Age = 78 }); Students.Add(new Student { FirstName = "ssh", LastName = "iddd", Age = 88 }); Students.Add(new Student { FirstName = "sdi", LastName = "j", Age = 9 }); Students.Add(new Student { FirstName = "ssj", LastName = "k", Age = 10 }); StudentPredicateDelegate CheckName = (StudentPredicateDelegate)Delegate.CreateDelegate(typeof(StudentPredicateDelegate), typeof(Student), "CheckFirstName"); StudentPredicateDelegate CheckLastName = (StudentPredicateDelegate)Delegate.CreateDelegate(typeof(StudentPredicateDelegate), typeof(Student), "CheckLastName"); StudentPredicateDelegate CheckAge = (StudentPredicateDelegate)Delegate.CreateDelegate(typeof(StudentPredicateDelegate), typeof(Student), "CheckAge"); PrintList(Students.FindStudent(CheckName)); Console.WriteLine(); PrintList(Students.FindStudent(CheckLastName)); Console.WriteLine(); PrintList(Students.FindStudent(CheckAge)); Console.WriteLine(); Console.WriteLine(); PrintList(Students.FindStudent(Stud => (Stud.FirstName.Length > 0 && Stud.FirstName[0] == 'A'))); Console.WriteLine(); PrintList(Students.FindStudent(Stud => Stud.LastName.Length > 3)); Console.WriteLine(); PrintList(Students.FindStudent(Stud => Stud.Age >= 18)); Console.WriteLine(); Console.WriteLine(); PrintList(Students.FindStudent(Stud => Stud.Age >= 20 && Stud.Age <= 25)); Console.WriteLine(); PrintList(Students.FindStudent(Stud => Stud.FirstName == "Andrew")); Console.WriteLine(); PrintList(Students.FindStudent(Stud => Stud.LastName == "Troelsen")); Console.WriteLine(); Console.Read(); }
static void Main() { List <Student> students = new List <Student>() { new Student() { Age = 18, FirstName = "Artem", LastName = "Matviichuk" }, new Student() { Age = 19, FirstName = "Vitaliy", LastName = "Rudenko" }, new Student() { Age = 20, FirstName = "Oleksiy", LastName = "Luppa" }, new Student() { Age = 44, FirstName = "Ivan", LastName = "Sobko" }, new Student() { Age = 17, FirstName = "Yaroslav", LastName = "Pozniak" }, new Student() { Age = 16, FirstName = "Vadim", LastName = "Derkach" }, new Student() { Age = 21, FirstName = "Oleksandr", LastName = "Savchuk" }, new Student() { Age = 18, FirstName = "Artur", LastName = "Savchuk" }, new Student() { Age = 19, FirstName = "Vladislav", LastName = "Dryga" }, new Student() { Age = 13, FirstName = "Mykyta", LastName = "Nazarenko" } }; StudentPredicateDelegate myDelegate = Student.IsFirstName; myDelegate += Student.IsLastName; myDelegate += Student.IsAge; List <Student> result8 = students.FindStudent(myDelegate); Console.WriteLine("Result8:"); result8.ShowOnScreen(); List <Student> result9 = students.FindStudent( new StudentPredicateDelegate( student => student.Age >= 18 && student.FirstName[0] == 'A' && student.LastName.Length > 3 )); Console.WriteLine("Result9:"); result9.ShowOnScreen(); List <Student> result10 = students.FindStudent( new StudentPredicateDelegate( student => student.Age >= 20 && 25 >= student.Age )); Console.WriteLine("Result10:"); result10.ShowOnScreen(); List <Student> result11 = students.FindStudent( new StudentPredicateDelegate( student => student.FirstName == "Andrew" )); Console.WriteLine("Result11:"); result11.ShowOnScreen(); List <Student> result12 = students.FindStudent( new StudentPredicateDelegate( student => student.LastName == "Troelsen" )); Console.WriteLine("Result11:"); result12.ShowOnScreen(); Console.ReadKey(); }