zoukankan      html  css  js  c++  java
  • 委托与Lambda表达式

     ~,先不急说委托和Lambda表达式,先看两个例子再说:

    1. 通过委托,为一个数字加10,如下代码:

    class Program
        {
            private delegate int JiSuan(int a);
            static void Main(string[] args)
            {
                JiSuan js= ZengShi;
                Console.WriteLine(js(10));
                Console.ReadKey();
            }
    public static int ZengShi(int a) { return a + 10; } }

     2. 使用Lambda表达式,为一个数字加10,如下代码:

      

    class Program
        {
            private delegate int JiSuan(int a);
            static void Main(string[] args)
            {
                JiSuan js = p=>p+10;
                Console.WriteLine(js(10));
                Console.ReadKey();
            }
        }

    上面例2(p=>p+10)中的p是例1委托方法中的参数,而(p+10)是例1委托方法中的返回值,其中的(=>)就是传说中的Lambda运算符。通过这样的解释,不知道大家是否知道了委托与Lambda表达式的联系。没错,Lambda表达式就是委托的另外一种表达方式,主要是为了使代码简洁、优雅。当然,既然p是参数,那么就会以多个参数的情况,要想传递多个参数,是将参数写在小括号里,然后用逗号隔开,如:(p,q)=>p+q+10;

    补充一点:

      Lambda运算符左边是传入的参数,而右边是Lambda表达式的主体,右边可以是一个运算表达式,也可以是有返回值的一段代码。这里我就不举例了。

  • 相关阅读:
    研究动态扩容数据库解决方案
    研究分布式唯一ID生成,看完这篇就够
    聊聊心跳机制及netty心跳实现
    聊聊微服务熔断降级Hystrix
    聊聊ReentrantLock的内部实现
    Python迭代器和生成器
    Flask容器化部署原理与实现
    WSGI到底是什么?
    Tensorflow基础
    Python字典 你必须知道的用法系列
  • 原文地址:https://www.cnblogs.com/taidou/p/4757118.html
Copyright © 2011-2022 走看看