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