using System.Collections.Generic;
public delegate bool IsOdd(int number);
public delegate bool IsEven(int number);
public delegate bool Anonymous(int number);
public static void Main()
List<int> numbers = new List<int>() {36, 71, 12, 15, 29, 18, 27, 17, 9, 34};
IsOdd isOddDelegate = x => (x % 2) != 0;
List<int> oddNumbers = numbers.Where(x => isOddDelegate(x)).ToList();
Console.WriteLine("Odd numbers :");
oddNumbers.ForEach(Console.WriteLine);
IsEven isEvenDelegate = x => {
List<int> evenNumbers = numbers.Where(x => {
Console.WriteLine("Even numbers :");
evenNumbers.ForEach(Console.WriteLine);
Anonymous isPrime = delegate(int number){
for (int i = 1; i <= number; i++) {
List<int> primeNumbers = numbers.Where(x => isPrime(x)).ToList();
Console.WriteLine("Prime numbers :");
primeNumbers.ForEach(Console.WriteLine);