Question: I am wondering if there is a special method/trick to check if a `String` object is null. I know about the [`String.IsNullOrEmpty`](http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx) 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?

Answer: 
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.

And yes, you should just use

```
if (s == null)

```

Note that this will still use the overloaded == operator defined in string, but that will do the right thing.
If you are using `C# 7.0` or above you can use `is null`:

```
if (s is null) {
    // blah blah...
}

```

Also, note that when working with strings you might consider also using `IsNullOrWhiteSpace` that will also validate that the string doesn't contain only spaces.