edit 2015 This question and its answers are no longer relevant. It was asked before the advent of C# 6, which has the null propagating opertor (?.)
The initial sample works and is the easiest to read at a glance. Is there really a need to improve on that?