• 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;
        }
  • 相关阅读:
    java8 Stream排序字段为空排序方法
    SpringBoot使用token简单鉴权的具体实现方法
    性能调优
    TestNG最简单的测试
    TestNG异常测试
    TestNG中如何执行测试
    TestNG的基本注解
    TestNG介绍
    TestNG 环境搭建
    python第四课笔记
  • 原文地址:https://www.cnblogs.com/cuijl/p/6607858.html
Copyright © 2020-2023  润新知