Pass delete Filter Method with an Anonymous Method in CSharp
Description
The following code shows how to pass delete Filter Method with an Anonymous Method.
Example
using System;/*from w w w. j a va 2 s . c o m*/
using System.Collections;
public delegate bool IntFilter(int i);
public class MainClass {
public static int[] FilterArrayOfInts(int[] ints, IntFilter filter) {
ArrayList aList = new ArrayList();
foreach (int i in ints) {
if (filter(i)) {
aList.Add(i);
}
}
return ((int[])aList.ToArray(typeof(int)));
}
public static void Main() {
int[] nums = { 1, 2, 3, 4, 5, 6};
int[] oddNums = FilterArrayOfInts(nums, delegate(int i) { return ((i & 1) == 1); });
foreach (int i in oddNums)
Console.WriteLine(i);
}
}
The code above generates the following result.