lmabda表达式本质就是一个匿名函数,他的作用就是为了简化匿名函数
例子1: x => x+1 可以读成 x 变成x+1.
=> 表示 变成 ,lmabda表达式的左侧为参数有多个参数时用括号括起来,如: (int a, float b, bool c)。表达式右侧是函数体,例1中x+1可以理解为函数的返回值为x+1
public class lambdaTest : MonoBehaviour
{
/**
*
* lambda表达式本质就是一个匿名函数 x => x * x读作"x goes to x times x"
* x * x 相当于返回值
*
*
*/
public Button btn;
delegate bool dlg(int a); //委托 ,这里可以理解为 一个指向返回类型为bool的函数指针
dlg d;
int a = 1;
void Start()
{
btn.onClick.AddListener(() => Debug.Log(1));
d = (int x) => a == x;//写法1
// d = (int x) => { return (a == x); };//写法2
Debug.Log( d(2) );
}
}
一片帮助我理解的文章:C# => Lambda表达式理解
<