When the property have some collection type like
public IList<MyItemClass> MyList{ get; }
IMHO, it's better to return empty collection instead of null value.
There are many ways to implement such functionality.
public IList<MyItemClass> MyList{ get; private set; }
public MyClass(){
MyList = new List<MyItemClass>();
}
This way allow to decrease number of class fields, but you need to put code in each constructor.
private List<MyItemClass> _myList = new List<MyItemClass>();
public IList<MyItemClass> MyList{ get{ return _myList; } }
This is standard way. But when somebody write something to your code he can use private field instead of property and you can get some bugs when you refactor get action.
private List<MyItemClass> _myList;
public IList<MyItemClass> MyList{ get{ return _myList??(_myList = new List<MyItemClass>()); } }
And this is the variant of the previous way with lazy loading.
What are you prefer to return as default value for collection? If this is empty collection how do you implement it?