有人能告诉我如何投射System.Timespan吗?到System.Timespan 当我试着从linq查询中获取当前日期和日期之间的日期差异时,我一直收到此错误(参见belwo)
System.TimeSpan ts = i.joinDt - DateTime.Now.Date;
答案 0 :(得分:6)
要从TimeSpan
获取TimeSpan?
,您需要访问可空的Value
属性 - 无需强制转换。
TimeSpan? tsn = i.joinDt - DateTime.Now.Date;
TimeSpan ts;
if(tsn.HasValue)
{
ts = tsn.Value;
}
或者:
if(i.joinDt.HasValue)
{
TimeSpan ts = i.joinDt.Value - DateTime.Now.Date;
}
答案 1 :(得分:6)
System.TimeSpan ts = (i.joinDt - DateTime.Now.Date).Value;
答案 2 :(得分:3)
有人能告诉我如何投射System.Timespan吗?到System.Timespan
您需要为TimeSpan?
为空的情况指定默认值:
TimeSpan? nullableTs = ...
TimeSpan ts = nullableTs ?? TimeSpan.Zero;