unity中Lambda表达式

首先介绍一下lambda表达式得含义:
简化了匿名委托的使用,让你让代码更加简洁,优雅。
lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。

lambda表达式:

       1.一个参数:param=>expr

       2.多个参数:(param-list)=>expr

上面这些东西,记着,下面我们开始应用并阐述lambda,让你乐在其中。

我打算用一个最简单得方法来抛砖引玉,一个unity中得点击事件:(这只是演示,与代码得优雅合理无关)
一般得,给按钮加上点击事件,会这样写:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class button : MonoBehaviour {
      public Button btn;
   void Start () {
       btn.onClick.AddListener(btnClick); 
   }
   void btnClick()
   {
       Debug.Log("按钮被点击了!");
   }
   void Update () {
       
   }
}

这是结果:
在这里插入图片描述

运行截图
然而,我们如果使用lambda表达式呢?它会变成这样:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class button : MonoBehaviour {
    public Button btn; 
    void Start () {
                                  //无参匿名函数
        btn.onClick.AddListener(()=> {
            //方法体
            Debug.Log("按钮被点击了");

        } ); 
    } 
    void Update () { 
    }
}

下面是运行结果:
在这里插入图片描述

运行结果

猜你喜欢

转载自blog.csdn.net/weixin_41590778/article/details/129400128