函數進化到Lambda表達式的三過程

 

  • 假如咱們想要從一個整型數組中取出其中是奇數的選項,其實現方式有不少,
  • 接下來經過三種方法的對比理解Lambda表達式的用途,須要瞭解的朋友能夠參考下
       1 //聲明委託類型 2 public delegate bool IntFilter(int i); 

方法一:命名方法


public class Common 2 {
    //【函數】查找數組中的奇數
4 public static List<int> FilterArrayOfInt(int[] ints, IntFilter filter) 5 { 6 var lstOddInt = new List<int>(); 7 foreach (var i in ints) 8 { 9 if (filter(i)) //用傳進來的函數作判斷 10 { 11 lstOddInt.Add(i); 12 } 13 } 14 return lstOddInt; 15 } 16 } 17

19 public class Application 20 { 
//【函數】判斷奇數偶數
21 public static bool IsOdd(int i) 22 { 23 return i % 2 != 0; 24 } 25 } 26 27

   //聲明數組
28 var nums = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

//調用
29 var oddNums = Common.FilterArrayOfInt(nums, Application.IsOdd); 30 foreach (var item in oddNums) 31 { 32 Console.WriteLine(item); // 1,3,5,7,9 33 }

 


方法二:匿名方法


1 var oddNums = Common.FilterArrayOfInt(nums, delegate(int i) { return i % 2 != 0; }); 

方法三:Lambda表達式


1 var oddNums = Common.FilterArrayOfInt(nums, i => i % 2 != 0); 
很顯然,使用Lambda表達式使代碼更爲簡潔。
相關文章
相關標籤/搜索