我从xml文件中获取数据,有时日期为空.
我有这个代码:
try { TimeTo = Convert.ToDateTime(R[15].ToString()); }
catch { TimeTo = null ; }
Run Code Online (Sandbox Code Playgroud)
但我得到错误,因为我无法插入null到datetime var
我可以做什么 ?
thak提前
Chr*_*way 13
使TimeTo成为可以为空的属性,如下所示:
public DateTime? TimeTo { get; set; }
Run Code Online (Sandbox Code Playgroud)
比try/catch更好的解决方案是执行以下操作:
TimeTo = string.IsNullOrEmpty(R[15].ToString())
? (DateTime?) null
: DateTime.Parse(R[15].ToString());
Run Code Online (Sandbox Code Playgroud)
小智 5
DateTime是值类型,因此无法分配null.但...
DateTime.MinValue 是一个很好的替代品,以帮助指出缺乏价值.
try { TimeTo = Convert.ToDateTime(R[15].ToString()); }
catch { TimeTo = DateTime.MinValue; }
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用可空类型:
DateTime? TimeTo = null;
Run Code Online (Sandbox Code Playgroud)
并像这样引用它:
if (TimeTo.HasValue)
something = TimeTo.Value;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12037 次 |
| 最近记录: |