5
?的可空类型问题:条件运算符
有人可以解释为什么这在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'之间没有隐式转换。” 不是说我不能使用前一种样式,而是第二种样式与我的其余代码更加一致。