委托和Lambda表达式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tink_bell/article/details/81272599

对象初始化器与集合初始化器

  即通过构造函数实例化对象或集合,并同时赋值。这样的方式被称为初始化器。

Person p=new Person('张三',20,'男')

委托

  委托是一个,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
  我们知道委托是一个引用类型,所以它具有引用类型所具有的通性。它保存的不是实际值,而是保存对存储在托管堆(managed heap)中的对象的引用。委托保存的是对函数(function)的引用。

Lambda表达式

  • 是一个匿名函数,它可以包含表达式和语句。可用于创建委托。
  • 运算符=>,该运算符读作 “goes to”
  • 格式:(input paramesters)=>expresssion
//定义委托
public delegate int AddSum(int a,int b);
Class Program
{
    static void Main(string[] args)
    {
        Program p=new Program();

        //1、通过调用方法使用
        AddSum addSum1=new AddSum(p.Add);

        //2、完整写法
        AddSum addSum2=delegate(int a,int b){ return a+b};

        //3、通过Lambda表达式,使用委托计算a+b的和。
        AddSum addSum3=(int a, int b)=>{ return a+b };
        //4、将上行语句简写
        AddSum addSum4=(a,b))=>{ return a+b };

        //调用实现委托方法,可以换成addSum1 、addSum2...
        int sum=addSum1(5,3);
        Console.writeLine(sum);    //输出
    }
    //定义实现a+b的方法
    public int Add(int a,int b)
    {
        return a+b;
    }
}

sql 、linq、lambda 查询语句的区别

猜你喜欢

转载自blog.csdn.net/Tink_bell/article/details/81272599