【发布时间】:2015-10-01 23:27:15
【问题描述】:
如果我使用下面的代码,
if (obj.ContactDetail != null && obj.ContactDetail.Id != Guid.Empty)
我会在后半部分 (.Id) 得到一个空引用错误,还是它会像 javascript 一样在比较的前半部分退出 If。
我知道这已得到解答,但我不知道用于查找它的术语。对不起。
【问题讨论】:
-
不仅回复in the documentation,你也可以尝试一下。
-
为什么当我忘记了一些简单的事情是如何工作时,我会来到这里,得到答案,然后被撞到地上?顺便说一句,我提到我不知道这个词是什么。
-
这并不是说你被撞到了地上,在一个简单的控制台应用程序中尝试它的代码远远少于在这里写出问题所花费的努力......它实际上是 4测试假设的代码行。
-
如您所说,这是短路。每个条件都返回一个布尔值。在 && 的情况下,两个条件都必须为真,才能使整个表达式为真。因此,如果第一个为假,则不检查第二个。在 || 的情况下(或),只有一个必须为真,整个表达式为真。如果第一个为真,则无需检查第二个,整个表达式将为真。
-
@CarComp 为什么,因为它非常粗鲁和无礼,并且违反了网站的规则和准则。你甚至连最基本的研究或家庭作业都没有自己尝试解决问题或找到现有的解决方案,反而浪费了大量的时间,不仅是你自己的时间,还有许多其他人的时间.你的评论还表明你知道你做错了,但你还是做了,这使得它更加粗鲁和不恰当。
标签: c# comparison