c# 观察者模式 匿名方法与Lambda

//匿名方法
            //和委托搭配使用
            //方便我们快速对委托进行传参
            //不需要我们去定义一个新的函数
            //直接用delegate关键字代替方法名,后面跟上参数列表与方法体

            //delegate(参数列表){方法体}

            //Sort(list, delegate (int a, int b) { return a > b; });




            //lambda表达式 匿名方法的升级
            //更加简写
            //(参数列表)=>{ 方法体 }
            //当你的方法体只有一条语句的时候,可以不写return,甚至可以没有花括号
            //参数列表的参数甚至可以不写数据类型
            //如果说方法体里一旦出现了return,一定要加上花括号

            Sort(list, (a, b) => a < b);

           

 

观测者模式
  模型——视图
  发布——订阅
  源——收听者

  一系列对象来监听另外一个对象的行为,被监听者一旦触发事件/发布消息,
  则被所有监听者收到,然后执行自己的行为

  就是使用委托/事件,让一系列对象把他们的行为来注册到我的委托中去,
  什么时候执行这个委托,由我自身决定,外部不能干涉

  (就相当于观察别人的行为作出对应的反应,例子:当有人打你的时候,你要还手,走进你的攻击范围你要打他,一旦触发了某些条件,作出对应的事情)

匿名方法
  和委托搭配使用
  方便我们快速对委托进行传参
  不需要我们去定义一个新的函数
  直接用delegate关键字代替方法名,后面跟上参数列表与方法体

  delegate(参数列表){方法体}


lambda表达式 匿名方法的升级
  更加简写
  (参数列表)=>{ 方法体 }
  当你的方法体只有一条语句的时候,可以不写return,甚至可以没有花括号
  参数列表的参数甚至可以不写数据类型
  如果说方法体里一旦出现了return,一定要加上花括号;

posted @ 2019-01-24 10:08  D个人笔记  阅读(174)  评论(0编辑  收藏  举报