Alguém poderia explicar por que isso funciona no C # .NET 2.0:
Nullable<DateTime> foo;
if (true)
foo = null;
else
foo = new DateTime(0);
... mas isso não acontece:
Nullable<DateTime> foo;
foo = true ? null : new DateTime(0);
O último formulário gera um erro de compilação "O tipo de expressão condicional não pode ser determinado porque não há conversão implícita entre '<null>' 'e' System.DateTime '."
Não que eu não possa usar o primeiro, mas o segundo estilo é mais consistente com o restante do meu código.