So this is the meat of the question: Can Foo.Bar ever return null? To clarify, can \'_bar\' be set to null after it\'s evaluated as non-null and before it\'s value is retur
Reflector says no:
List l = null; var x = l ?? new List();
Compiles to:
[STAThread] public static void Main(string[] args) { List list = null; if (list == null) { new List(); } }
Which does not appear to be thread safe in the respect you've mentioned.