为什么推荐用Lamda表达式

 委托的概念,匿名委托(方法),委托是一种安全的类型。
public int CompareTwoValue(int a, int b) 

 int c=a-b;
 return c; 
}
1. 接着声明一个委托

public delegate int deleMethod(int a,int b);


 然后,我们可以通过这个委托调用这个上面的成员方法,

 public int Show()  {      

deleMethod d1 = new deleMethod(CompareTwoValue);     

 return d1(5,10);  

 }

2.匿名委托,其实也称作匿名方法,其实,这只是一种语法形式上的变化,因为编译的时候,还是要进行类型匹配的,那么对于上面的Show方法,我可以使用匿名委托的方式来表达

public int Show1()
{
   deleMethod d2
= delegate(int a, int b)
  {
    int c=a-b;
    return c;
  };
   return d2(5,10);
}

可以看出,语法形式上简便了,所以我个人觉得匿名委托在C#2.0中并没有实质性的用处,因为到3.0时,涉及到Lamda表达式时,才真正的有用处,那么上面的方法,如果用Lamda表达式表述如下:

 
 
public int Show2() { Func < int , int , int > f = ( a,b) => { return a - b; }; return f( 5 , 10 ); }

初次接触Lamda表达式时感觉很难懂,但是一旦理解了之后,我就很喜欢这种表达方式,其实,Lamda表达式只是匿名委托的一种表现形式,从上面的结果可以很直观的看出,三种方式中,Lamda表达式编写的代码量最少,最后看一下执行的结果

 
 
TestExample test = new TestExample(); Console.WriteLine(test.Show()); Console.WriteLine(test.Show1()); Console.WriteLine(test.Show2());

结果是一致的,其实三者的功能是一致的,只是表现形式不一样,而三种方法中,Lamda表达式编写的代码量最少。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值