zoukankan      html  css  js  c++  java
  • 函数进化到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表达式使代码更为简洁。
  • 相关阅读:
    [NOIP2013]华容道
    [随笔]冲NOIP一等奖。。
    [NOIP2015]联合权值
    [随笔]我回来啦!
    [考试]20151105
    [知识点]最近公共祖先LCA
    [BZOJ3751/NOIP2014]解方程
    [旧版][知识点]字符串Hash
    NOIP2016题解
    NOIP2016游记
  • 原文地址:https://www.cnblogs.com/zhangguorenmi/p/13034804.html
Copyright © 2011-2022 走看看