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