I should probably explain a bit further. Let's say you were going to use a list of strings. You can declare:
IList<string> a;
At this point a = null and null does not have an Add method. If you initialize:
IList<string> a = new List<string>();
Now a = an empty list of strings. It will at this point have an Add method to use to add strings to the list.