Nullable DateTime是否正常工作?
请检查以下代码
DateTime? tmp = new DateTime(); tmp = null; return tmp.ToString();
它返回String.Empty
。
这是对的吗?
可能是在第二行代码中引发exception会更好
是的,这是对的。 从文档中
如果
HasValue
属性为true,则为当前Nullable
对象的值的文本表示forms;如果HasValue
属性为false,则为空字符串(""
)。
另请注意, Nullable
和Nullable
不会抛出这种情况,但Nullable
会抛出。 这是因为Nullable
会覆盖Object.Equals
, Object.GetHashCode
和Object.ToString
,但是Object.GetType
不会被覆盖(因为它不能被标记为virtual
)。