如果空合并操作中的所有参数都为空,结果是什么?
当这段代码完成时,myObject
的结果是什么?
object myObject = "something";
object yourObject = null;
myObject = null ?? yourObject;
When this code finishes, what is the result of myObject
?
object myObject = "something";
object yourObject = null;
myObject = null ?? yourObject;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
myObject 将为 null
这被翻译为 -
myObject will be null
This gets translated to -
合并运算符可以翻译为:
因此你所拥有的:
这实际上是毫无意义的,因为 null 永远是 null。
The coalesce operator translates to this:
Therefore what you have:
Which is actually pretty pointless since null will always be null.
只是为了好玩,这里有一个小表:
由于
??
只是一个(惊讶!)右关联中缀运算符,因此x ??是吗? z
--> <代码>x ?? (y ?? z) 。与&&
和||
一样,??
也是一种短路操作。...来自 ?运算符(C# 参考):
...来自 C# 3.0 语言参考:
Just for kicks, here is a small table:
And since
??
is just a (surprise!) right-associated infix operator,x ?? y ?? z
-->x ?? (y ?? z)
. Like&&
and||
,??
is also a short-circuiting operation....from ?? Operator (C# Reference):
...from the C# 3.0 Language reference: