誰かがこれがC#.NET2.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'の間に暗黙の変換がないため、条件式のタイプを判別できません」というコンパイルエラーが発生します。
前者を使用できないわけではありませんが、2番目のスタイルは残りのコードとより一貫性があります。