C# 可为空的时间跨度?时间跨度

C# 可为空的时间跨度?时间跨度,c#,datetime,nullable,timespan,C#,Datetime,Nullable,Timespan,如何将此C代码行从可空TimeSpan转换为TimeSpan 因为日期戳是可为空的DateTime TimeSpan? timestamp = DateTime.Now - modelXyz.DateStamp 如果邮戳实际上是空的呢?我们可以假设这不会发生吗?或者当然:如果modelXyz.DateStamp.HasValue{TimeSpan nonNullableTS=DateTime.Now-modelXyz.DateStamp.Value;/*在这里使用另一个问题的时间跨度*/},

如何将此C代码行从可空TimeSpan转换为TimeSpan 因为日期戳是可为空的DateTime

 TimeSpan? timestamp = DateTime.Now - modelXyz.DateStamp

如果邮戳实际上是空的呢?我们可以假设这不会发生吗?或者当然:如果modelXyz.DateStamp.HasValue{TimeSpan nonNullableTS=DateTime.Now-modelXyz.DateStamp.Value;/*在这里使用另一个问题的时间跨度*/},我得到了这个DateTime timeStamp=modeXyz.DateStamp.GetValueOrDefault;是这样吗?当然。你基本上是想了解nullable的工作原理。
TimeSpan? timestamp = DateTime.Now - modelXyz.DateStamp;
if(timestamp.HasValue)
{
    TimeSpan nonNullableTS = timestamp.Value;
}