我正在研究??
在C#中使用运算符(空合并运算符)。但是MSDN上的文档是有限的。
我的问题:如果左侧操作数不为null,是否曾经评估过右侧操作数?
和以往一样,C#规范是进行此类操作的最佳选择。
根据C#5规范的第7.13节(强调我的):
形式的空合并表达式
a ?? b
要求a
是可空类型或引用类型。如果a
为非空,则结果a ?? b
为a
;否则,结果为b
。该操作b
仅在a
为null时求值。
有关何时执行任何转换以及确切行为的更多详细信息,但这是提出您问题的重点。另外值得一提的是,空合并运算符是右结合的,所以a ?? b ?? c
作为评价a ?? (b ?? c)
...这意味着它只会评价c
,如果两者 a
并b
为空。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句