不是本人所写!网络收集
C#中的匿名函数和Lamda是很有意思的东东,那么我们就来介绍一下,这到底是什么玩意,有什么用途了?
打开visual studio 新建一个控制台程序.
我们利用委托来写一个匿名函数.
代码如下图.我们再来用lambda表达式写一次一模一样的功能.
委托_算法 算法 = (double 参数一, double 参数二) => { Console.WriteLine("{0}{1}={2}", 参数一, 参数二, 参数一 参数二); };
算法(5,2);
Console.ReadKey();一般我们学习C#的时候,说到匿名函数的时候都会谈到lambda表达式.
其实lambda表达式就是匿名函数更为简洁的一种写法.
通俗点讲,你需要写一个函数,但是懒得给它起名字,而且懒得写那么多封装和类.并且可能就这个地方调用,其他地方几乎不调用这段代码,那么我就可以用这个来搞定.这个概念是来自函数式编程.这几年貌似挺流行的,很多语言都加入了这个功能.
委托1 局_委托1 = () => { };
第一个等号后面的()里面应该是放参数,但是因为我们上面声明的委托里面没有参数,所以这里也不写参数.
第二个等号+大于号后面的{}里面放的就是函数的实现过程.
lambda就是简化了的匿名函数.第二种lambda表达式.
委托2 局_委托2 = (string name) => { };第三种 lambda表达式.
委托3 局_委托3 = (string name) => { return name+"是个大傻B"; };
Console.WriteLine(局_委托3("小猪"));
Console.ReadKey();
注意事项
匿名函数的参数和返回值必须要和委托一样.