namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int[] nums = { 1, 2, 3, 4, 5, 6 };
List<int> L1= FilterNumber.Filter(nums, Application.IsOdd);//委托
List<int> L2 = FilterNumber.Filter(nums, delegate (int i) { return (i % 2 == 0);});//匿名方法
List<int> L3 = FilterNumber.Filter(nums, i => (i % 2 == 0));//Lamda表达式
foreach (var i in L2)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
}
class FilterNumber
{
public delegate bool InFilter(int i);
public static List<int> Filter(int[] ints,InFilter filter)
{
List<int> aList = new List<int>();
foreach (var i in ints)
{
if (filter(i))
{
aList.Add(i);
}
}
return aList;
}
}
class Application
{
public static bool IsOdd(int i)
{
return (i %2 == 1);
}
}
}