委托和Lambda表达式

16 篇文章 1 订阅

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

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 查询语句的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值