• 函数进化到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表达式使代码更为简洁。
  • 相关阅读:
    用二重循环打印图形--------矩形 三角形 菱形
    数组的应用
    柳暗花明又一村的———for循环
    E-PUCK机器人-开始
    E-PUCK机器人-软件
    E-PUCK机器人-电池使用
    E-PUCK机器人-硬件
    E-PUCK机器人-FAQ
    E-PUCK机器人-Tiny Bootloader和其他开发工具
    E-PUCK机器人-例子
  • 原文地址:https://www.cnblogs.com/zhangguorenmi/p/13034804.html
Copyright © 2020-2023  润新知