我想说这个属性是否为(Null OR Equals“”OR contains“ImageNotAvailable”)然后继续做一些事情。但是当我尝试使用下面的代码时,我得到一个对象引用错误。我希望在测试开始时放(Publisher.ThumbnailURL == null)
,其他测试将被忽略,但我得到的错误。
if ((Publisher.ThumbnailURL == null) | (Publisher.ThumbnailURL == "") | (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))
我可以简单地将它们拆分为“If Else's”但是有没有办法指定如果第一个测试为null,请不要试图找出会导致错误的If语句的其余部分
答案 0 :(得分:11)
if ((Publisher.ThumbnailURL == null) || (Publisher.ThumbnailURL == "") || (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))
||操作者
条件OR运算符(||)执行其bool的逻辑或运算 操作数,但仅在必要时评估其第二个操作数。
请注意,您也可以使用RaphaëlAlthaus评论的string.IsNullOrEmpty
:
if (string.IsNullOrEmpty(Publisher.ThumbnailURL) || Publisher.ThumbnailURL.Contains("ImageNotAvailable"))
答案 1 :(得分:3)
是的,使用||
尽早评估表达式,使用String.IsNullOrEmpty
会使语句更简短:
if (String.IsNullOrEmpty(Publisher.ThumbnailURL) || (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))