版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}
}