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

C# 如果第一个测试为null,则命令if语句忽略以下测试,c#,if-statement,C#,If Statement,我想说,如果这个属性是(Null或等于“”,或包含“ImageNotAvailable”),那么继续做一些事情。但是当我尝试使用下面的代码时,我得到了一个对象引用错误。我希望在测试开始时放置(Publisher.ThumbnailURL==null),其他测试将被忽略,但我得到了上面的错误 if ((Publisher.ThumbnailURL == null) | (Publisher.ThumbnailURL == "") | (Publisher.ThumbnailURL.Contains

我想说,如果这个属性是(Null或等于“”,或包含“ImageNotAvailable”),那么继续做一些事情。但是当我尝试使用下面的代码时,我得到了一个对象引用错误。我希望在测试开始时放置
(Publisher.ThumbnailURL==null)
,其他测试将被忽略,但我得到了上面的错误

if ((Publisher.ThumbnailURL == null) | (Publisher.ThumbnailURL == "") | (Publisher.ThumbnailURL.Contains("ImageNotAvailable"))) 
我可以简单地将它们划分为“If-Else”,但是有没有办法指定如果第一个测试为null,不要尝试找出If语句的其余部分,这将导致它出错,而不是使用:

||接线员

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

请注意,您还可以使用Raphaël Althaus的评论:

if (string.IsNullOrEmpty(Publisher.ThumbnailURL) || Publisher.ThumbnailURL.Contains("ImageNotAvailable")) 
使用而不是:

||接线员

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

请注意,您还可以使用Raphaël Althaus的评论:

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

是的,使用
|
尽早计算表达式,并且使用
String.IsNullOrEmpty
将使语句更简短:

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

是的,使用
|
尽早计算表达式,并且使用
String.IsNullOrEmpty
将使语句更简短:

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

string.IsNullOrEmpty
对前两个测试很好。非常感谢各位-我怀疑这是一个简单的答案。
string.IsNullOrEmpty
对前两个测试很好。非常感谢各位-我怀疑这是一个简单的答案。