语言语法糖_【c#】几种常用语法糖

语法糖(syntactic sugar)是由英国计算机科学家Peter J. Landin发明的术语,指计算机语言中添加的某种语法。这种语法不影响语言的功能,但更方便使用。

在开发中使用语法糖能够让程序变得更短,使看起来更美观些~

空检查

public event System.Action onClick;
​
public void Click(){  
    onClick?.Invoke(); 
    //等价于
    //if(onClick != null)
    //  onClick.Invoke();
}

自动属性

public int value { get; private set; } = 1;
​
//等价于
//private int _number = 1;
//public int Number{
//    get{ return _number; }
//    private set{ _number = value; }
//}

组件懒加载

private Rigidbody2D _r2d;
public Rigidbody2D r2d => _r2d ??= GetComponent<Rigidbody2D>();
​
//等价于
//public Rigidbody2D r2d{
//    get{
//        if(_r2d == null)
//            _r2d = GetComponent<Rigidbody2D>();
//        return _r2d;
//    }
//}

匿名函数

[SerializeField] string[] array;
​
private void Start(){
    System.Array.ForEach(array, (x) => Debug.Log(x));
    
    //等价于
    //for (int i = 0; i < array.Length; i++){
    //  Debug.Log(array[i]);
    //}
}

动态变量

public object obj;
​
dynamic obj_d = obj;
int result = obj_d.Add(1, 2);
​
//等价于
//Type t = obj.GetType();
//MethodInfo mi = t.GetMethod("Add");
//int result = (int)mi.Invoke(obj, new object[] { 1, 2 });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值