Проблема типа Nullable с?: Условный оператор
Может кто-нибудь объяснить, почему это работает в C # .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 ».»
Не то, чтобы я не мог использовать первый, но второй стиль больше соответствует остальной части моего кода.