Может кто-нибудь объяснить, почему это работает в С#.NET 2.0:
Nullable<DateTime> foo;
if (true)
foo = null;
else
foo = new DateTime(0);
... но это не так:
Nullable<DateTime> foo;
foo = true ? null : new DateTime(0);
Последняя форма дает мне ошибку компиляции. "Тип условного выражения не может быть определен, потому что нет никакого неявного преобразования между" <null> "; и" System.DateTime".
Не то, чтобы я не мог использовать первое, но второй стиль более соответствует остальной части моего кода.