2016-03-28 64 views
0

我有两个变量类型DateTime和DateTime?比较日期时间与DateTime?(允许空值)在C#

TruncateTime仅适用于Db实体,在我的情况下,一个属性来自Db实体,其他属性来自其他实体。

DateTime StartDateFromDb; 
DateTime? StartDateFromFilter; 

if(StartDateFromDb.Date == StartDateFromFilter.Date); 
//// in this case .Date is not allowingfor StartDateFromFilter 

在此先感谢

+1

''StartDateFromFilter.Value.Date'' –

+0

相关? http://stackoverflow.com/q/13673117/447156 –

回答

1

使用可用的Value属性

if(StartDateFromFilter.HasValue && StartDateFromDb.Date == StartDateFromFilter.Value.Date) 

PS:最好添加一个空值检查。 StartDateFromFilter必须有一个值(当DateTime类型变量不为空时,HasValue为true)

2

对于任何可为空的类型,可以使用value属性。 StartDateFromFilter.Value.Date

在你的情况,这应该做工精细

if(StartDateFromDb.Date == StartDateFromFilter.Value.Date) 
//// in this case .Date is not allowingfor StartDateFromFilter