为了我的编程考试,我不得不为我写的代码进行辩护。其中一行是:
if(app.Logourl == "" || app.Logourl == null)
他问我空值和空字符串之间是否有区别。我告诉他,区别在于
null
表示没有指向任何东西,因此未实例化,而空字符串则不同。考试后,我走到他跟前问他是否正确,因为我看到他脸上露出了奇怪的表情。他告诉我这是真的,但我检查值的顺序是错误的。
现在几天过去了,我相信顺序没有问题。我正确吗? 简短概述:
if(app.Logourl == "" || app.Logourl == null)
等同于
if(app.Logourl == null || app.Logourl == "")
String.IsNullOrEmpty
代替。;) - Farhad Jabiyevnull
。正如答案中所指出的,在许多实际情况下,这确实很重要,并且从null
检查开始将简单地减少您在长期内的错误。无论何时环境提供了像IsNullOrEmpty()
这样的专门函数,请使用它,但在许多其他情况下,您也需要手动编写检查的代码。 - Gábor