我想说如果这个属性是 (Null OR Equals ""OR contains "ImageNotAvailable") 然后继续做一些事情。但是当我尝试使用下面的代码时,出现对象引用错误。我希望通过将 (Publisher.ThumbnailURL == null)
放在测试的开头,其他测试将被忽略,但我得到了上面的错误。
if ((Publisher.ThumbnailURL == null) | (Publisher.ThumbnailURL == "") | (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))
我可以简单地将它们拆分为“If Else's”,但有没有一种方法可以指定如果第一个测试为空,则不要尝试找出 If 语句的其余部分,这将导致它出错
最佳答案
if ((Publisher.ThumbnailURL == null) || (Publisher.ThumbnailURL == "") || (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))
||运营商
The conditional-OR operator (||) performs a logical-OR of its bool operands, but only evaluates its second operand if necessary.
请注意,您还可以使用 string.IsNullOrEmpty
正如 Raphaël Althaus 评论的那样:
if (string.IsNullOrEmpty(Publisher.ThumbnailURL) || Publisher.ThumbnailURL.Contains("ImageNotAvailable"))
关于c# - 如果第一个测试为空,则命令 if 语句忽略后续测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639413/