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