Let's say you want to lazily instantiate a list of Customers in your model. If you check for the list count being = 0, how do you know if this is the first time through the code, (i.e. requiring a trip to the database), or if you've already made a trip to the database, but there where no Customers available?
Well you can do it by making the List field = null and only setting it to be an instance of List when you've been through the code once. Like so...
private List<customer> _Customers = null;
public List<customer> Customers
{
get
{
if (null == _Customers)
{
_Customers = new List<customer>();
FillCustomerList();
}
return _Customers;
}
}