Following code read a piece data from given DataRow(modelValue) and parse it to a nullable DateTime instance.
Question: Please see the code sections under L1 & L2 where both are technically equal (If i am not making any schoolboy error). However, L1 works as expected but not L2. I am getting
there is no implicit conversion between null and datetime
when I execute the code under L2. Can someone advise me ?
DateTime? CallBack;
var callBackDate = modelValue["CallBack"] == DBNull.Value ? null : modelValue["CallBack"].ToString();
//Parsing
DateTime cdate;
if (!DateTime.TryParse(callBackDate, out cdate))
cdate = DateTime.MinValue;
//L1
if (cdate==DateTime.MinValue)
CallBack = null;
else
CallBack = cdate.Date;
//L2
CallBack = cdate == DateTime.MinValue?null:cdate.Date;