unity中Lambda表达式

作者: UnityPlane | 来源:发表于2018-10-02 10:12 被阅读25次

首先介绍一下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 () { 
    }
}
下面是运行结果: 运行结果

相关文章

网友评论

    本文标题:unity中Lambda表达式

    本文链接:https://www.haomeiwen.com/subject/arbooftx.html