【发布时间】:2018-07-13 16:55:51
【问题描述】:
谁能解释一下两者的区别:
if(object?.Count > 0){
//code
}
和:
if(object != null && object.Count > 0){
//code
}
还是他们在做同样的事情?谢谢。
【问题讨论】:
-
documentation 很好地描述了语义。特别是,不,在
object很复杂的情况下它们不是一回事,因为空条件运算符只评估其目标一次。 -
将
object?视为if (object == null) return null;- 将它们放在一起,您就可以在尝试调用.Count之前有效地检查object != null。相关问题here. -
我曾经想知道为什么人们在 cmets 中回答,但在试图提供帮助而被否决后,我现在明白了。
标签: c#