匿名函数和Lamda

时间:2021-05-07 09:57:48

不是本人所写!网络收集

C#中的匿名函数和Lamda是很有意思的东东,那么我们就来介绍一下,这到底是什么玩意,有什么用途了?

  1. 打开visual studio 新建一个控制台程序.

    匿名函数和Lamda

  2. 我们利用委托来写一个匿名函数.

    代码如下图.

    匿名函数和Lamda

  3. 我们再来用lambda表达式写一次一模一样的功能.

    委托_算法 算法 = (double 参数一, double 参数二) => { Console.WriteLine("{0}{1}={2}", 参数一, 参数二, 参数一 参数二); };

    算法(5,2);

    Console.ReadKey();

    匿名函数和Lamda

  4. 一般我们学习C#的时候,说到匿名函数的时候都会谈到lambda表达式.

    其实lambda表达式就是匿名函数更为简洁的一种写法.

    通俗点讲,你需要写一个函数,但是懒得给它起名字,而且懒得写那么多封装和类.并且可能就这个地方调用,其他地方几乎不调用这段代码,那么我就可以用这个来搞定.

  5. 这个概念是来自函数式编程.这几年貌似挺流行的,很多语言都加入了这个功能.

    委托1 局_委托1 = () => { };

    第一个等号后面的()里面应该是放参数,但是因为我们上面声明的委托里面没有参数,所以这里也不写参数.

    第二个等号+大于号后面的{}里面放的就是函数的实现过程.

    lambda就是简化了的匿名函数.

    匿名函数和Lamda

  6. 第二种lambda表达式.

    委托2 局_委托2 = (string name) => { };

    匿名函数和Lamda

  7. 第三种 lambda表达式.

    委托3 局_委托3 = (string name) => { return name+"是个大傻B"; };

    Console.WriteLine(局_委托3("小猪"));

    Console.ReadKey();

    匿名函数和Lamda

注意事项

匿名函数的参数和返回值必须要和委托一样.