允许null DateTime?与C#中的DateTime变量进行变量比较

时间:2016-03-28 10:05:17

标签: c# datetime comparison

我有两个DateTime和DateTime类型的变量?

DateTime StartDateFromDb;
DateTime? StartDateFromFilter;

if(StartDateFromDb.Date == StartDateFromFilter.Date);

在比较时,。日不允许类型为allow null的StartDateFromFilter

提前致谢

2 个答案:

答案 0 :(得分:2)

使用可用的Value属性

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

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

答案 1 :(得分:2)

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

在你的情况下,这应该可以正常工作

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