空合并运算符“??”

在c#中"??"为空合并运算符,用于定义可空类型和引用类型的默认值。

(1)如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。例:a??b,当a为null时则返回b,a不为空时返回a本身。

(2)右操作数类型必须与左操作数类型相同,或者可以隐式的转换为左操作数类型。否则编译错误。

(3)空合并运算符为右结合运算符,即操作时从右向左进行组合的。例:"a??b??c"的形式按"a??(b??c)"计算。

原文地址:https://www.cnblogs.com/wanghonghu/p/2844231.html