有人能解释一下为什么这在C#.NET 2.0中有效:
Nullable<DateTime> foo;
if (true)
foo = null;
else
foo = new DateTime(0);
...but这不是:
Nullable<DateTime> foo;
foo = true ? null : new DateTime(0);
后一种形式给出了一个编译错误:“无法确定条件表达式的类型,因为'‘和’System.DateTime‘之间没有隐式转换。”
并不是说我不能使用前者,而是第二种风格与我的其余代码更一致。
https://stackoverflow.com/questions/295833
复制相似问题