I like to use the null coalesce operator to lazy load certain properties.
A very simple (and contrived) example just to illustrate my point:
public class StackOverflow
{
private IEnumerable _definitions;
public IEnumerable Definitions
{
get
{
return _definitions ?? (
_definitions = new List
{
"definition 1",
"definition 2",
"definition 3"
}
);
}
}
}