1.使用命名的方法:
場景:通用代碼開發者想要創建一個通用的方法來篩選整型數組,但是這個通用方法要能夠制定用來篩選該數組的的算法。
首先,開發者必須聲明一個委托delegate,該委托的設計原型就是收到一個int(整型)類型,如果在被篩選的數組中確實包含一個int類型,則這個委托將返回true。
創建一個工具類並添加了delegate和篩選方法,這個公共代碼如下:
IntFilter( [] FilterArrayOfInts(= ( i (([])aList.ToArray((
以上FilterArrayOfInts 方法允許應用程序開發者將一個整型數組和一個delegate作為參數傳遞到篩選方法中,並將獲得一個篩選後的數組。
現在,假定應用程序開發者只想篩選奇數,該方法在開發者的應用程序代碼中進行了聲明:
IsOdd(& ==
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] oddNums = Common.FilterArrayOfInts(nums, Application.IsOdd); foreach (int i in oddNums) { Console.WriteLine(i); }
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] oddNums = Common.FilterArrayOfInts(nums, delegate(int i) { return ((i & 1) == 1); }); foreach (int i in oddNums) { Console.WriteLine(i); } Console.Read();
x => x.Length > 0
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] oddNums = Common.FilterArrayOfInts(nums, i => ((i & 1) == 1)); foreach (int i in oddNums) { Console.WriteLine(i); }
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //1.使用命名方法 int[] oddNums = Common.FilterArrayOfInts(nums, Application.IsOdd); //2.使用匿名方法 int[] oddNums = Common.FilterArrayOfInts(nums , delegate(int i) { return ((i & 1) == 1); }); //3.使用lambda表達式 int[] oddNums = Common.FilterArrayOfInts(nums, i => ((i & 1) == 1));