当前位置: 代码迷 >> 综合 >> unity 之lmabda表达式理解 什么是lmabda表达式?
  详细解决方案

unity 之lmabda表达式理解 什么是lmabda表达式?

热度:74   发布时间:2024-01-26 11:36:30.0

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表达式