如果第一个测试为 null,则命令 if 语句以忽略以下测试

本文关键字:测试 语句 if 第一个 null 如果 命令 | 更新日期: 2024-10-25 23:24:29

我想说这个属性是否是(Null OR 等于 " OR 包含 "ImageNotAvailable") 然后继续做点什么。 但是当我尝试使用以下代码时,我收到对象引用错误。 我希望通过在测试开始时放置(Publisher.ThumbnailURL == null),其他测试将被忽略,但我在上面得到了错误。

if ((Publisher.ThumbnailURL == null) | (Publisher.ThumbnailURL == "") | (Publisher.ThumbnailURL.Contains("ImageNotAvailable"))) 

我可以简单地将它们拆分为"If Else's",但是有没有办法指定如果第一个测试为空,请不要尝试找出会导致其错误的 If 语句的其余部分

如果第一个测试为 null,则命令 if 语句以忽略以下测试

使用 || 而不是 |

if ((Publisher.ThumbnailURL == null) || (Publisher.ThumbnailURL == "") || (Publisher.ThumbnailURL.Contains("ImageNotAvailable"))) 

||算子

条件 OR 运算符 (||) 对其布尔值执行逻辑 OR。 操作数,但仅在必要时计算其第二个操作数

请注意,您也可以使用 Raphaël Althaus 评论的string.IsNullOrEmpty

if (string.IsNullOrEmpty(Publisher.ThumbnailURL) || Publisher.ThumbnailURL.Contains("ImageNotAvailable")) 

是的,使用 || 尽早计算表达式,此外,使用 String.IsNullOrEmpty 会使语句更简短:

if (String.IsNullOrEmpty(Publisher.ThumbnailURL) || (Publisher.ThumbnailURL.Contains("ImageNotAvailable")))