zoukankan      html  css  js  c++  java
  • lambda表达式

    lambda表达式 简写=>读作goes to

    lambda表达式改造GetMax过程

    static void Main(string[] args){
            int[] nums=new int[]{33,88,6,9};
            //int m=GetMax<int>(nums,compareInt);
            //①变,使用系统的委托对象
            //Func<int,int,bool> f=delegate(int i1,int i2){return i1>i2;}
            //int m=GetMax(nums,f);
            //②变形使用匿名方法
            //int m=GetMax(nums,delegate(int i1,int i2){return i1>i2;})
            //③变,使用goes to语句=>  ; 可以省略参数类型,编译器会自动根据委托类型推断
            //int m=GetMax(nums,(i1,i2)=>{return i1>i2;});
            //④变,忽略return关键字
            int m=GetMax(nums,(i1,i2)=>{i1>i2;});
            cw(m);
        }
        
        //static bool compareInt(int i1,int i2){return i1>i2; }
        
        static T GetMax<T>(T[] objs,Func<T,T,bool> compareFunc){
            T max=objs[0];
            for(int i=0;i<objs.Length;i++){
                if(compareFunc(objs[i],max)){
                    max=objs[i];
                }
            }
            return max;
        }

    lambda表达式自定义MyWhere

    static void Main(string[] args){
            int[] nums=new int[]{3,5,55,99};
            IEnumerable<int> r1=nums.MyWhere(i=>i>10);
            foreach(...)
        }
    
        //静态类才能写扩展方法
        public static IEnumerable<T> MyWhere<T>(this IEnumerable<T> data,Func<T,bool> func){
            List<T> resultList=new List<T>();
            foreach(T item in data){
                if(func(item)){//判断遍历到的item是否满足条件
                    resultList.Add(item);
                }
            }
            return resultList;
        }
  • 相关阅读:
    js实现年月日三级联动
    Java_Web之俱乐部会员信息管理系统
    JQuery特效之心形图片墙
    Java_Web之宠物管理系统
    JavaScript特效之图片特效放大,缩小,旋转
    使用Ajax验证用户名
    Java_Web之神奇的Ajax
    js动态操作订单表格
    tab切换
    树型菜单
  • 原文地址:https://www.cnblogs.com/cuijl/p/6607858.html
Copyright © 2011-2022 走看看