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); };//写法2Debug.Log( d(2) );}
}
一片帮助我理解的文章:C# => Lambda表达式理解
另外
DOTween.To(),可以将某种值(包括int,float,vector3等)在设定的时间内慢慢的变成另一个值,可以实现很多特殊的效果
To()需要四个参数,前两个都是委托类型的,一般用lmabda表达式