问题描述
我想知道是否有特殊的方法/技巧来检查 String 对象是否为空.我知道 String.IsNullOrEmpty 方法,但我想将 null 字符串与空字符串 (="") 区分开来.
I am wondering if there is a special method/trick to check if a String object is null. I know about the String.IsNullOrEmpty method but I want to differentiate a null String from an empty String (="").
我是否应该简单地使用:
Should I simply use:
if (s == null) { // blah blah... }
...或者有其他方法吗?
...or is there another way?
推荐答案
object 不能为 null - 表达式 的值可以为 null.值得在您的脑海中清楚地说明差异.s 的值不是一个对象 - 它是一个 reference,它要么是 null,要么指向一个对象.
An object can't be null - the value of an expression can be null. It's worth making the difference clear in your mind. The value of s isn't an object - it's a reference, which is either null or refers to an object.
是的,你应该使用
if (s == null)
请注意,这仍将使用字符串中定义的重载 == 运算符,但这样做是正确的.
Note that this will still use the overloaded == operator defined in string, but that will do the right thing.