基础语法中我们有一个运算符叫三目运算符 ? :
先来回味下三目运算符的操作
var value = 运算公式 ? value1 :value2
使用方法 :通过公式计算来取得 true false 对应以上对应的值
那么 ?运算符还有两种使用方式
委托事件();
委托事件执行时候 使用 ?. invoke 可以判断并且 避免为空报错
相当于 if( event !=null ) { event(); }
event?.Invoke();
实例化一个物体或者寻找一个物体赋值的时候来判断是否为空并且不报错
object obj = GameObject.Find("Game") ?? null;
Lamta表达式在我们熟悉的式子里有 set => V =value get=> V;
=> 这是lamta 表达式的核心
通过 接口函数 来接收实际数据进行方法的使用就是lamta表达式的操作原理
例如
public interface TheInterface{ public void Text() }
public static void Play(TheInterface face )
{
face.text();
}
public static void Main(String[] args){
Play( ( ) -> System.out.println( "拉姆达表达式" ) ; )
}
以上就是 lamta 的表达式原理通过一个接口函数可以实现任意的具体逻辑指向写入
即
func( interface ); 普通函数 我的参数是个接口函数 接口可以实现方式比较广泛
func( ( 参数)-> { 具体逻辑 } ) 实际上就是 实现了一个 接口函数