Looking for a better way to compare a nullable date time than the following:
Any suggestions?
// myobject.ExpireDatetime is of DateTime?
//
if (!myob
The compiler lifts variables and generates code to check for nulls.
> new DateTime?()
null
> DateTime.Now > null
false
> DateTime.Now < null
false
> new int?()
null
> 10 >= null
false
> 10 =< null
false
> 10 == null
false
> 10 != null
true
Knowing this you can write simple code.
// d is a DateTime?
DateTime now = DateTime.Now;
bool after = d > now;
bool before = d < now;
bool today = d?.Date == now.Date;
If d is null everything will be false, else it will work like normal DateTime comparison.