Я пытаюсь конвертировать DateTime?значение в значение DateTime.И сравните значение DateTime с DateTime.MaxValue в C #.Хотя значения одинаковы.Я получаю -1 для сравнения DateTime.Я новичок в C #.Где я ошибаюсь в следующем коде?
Я искал и нашел эту связанную ссылку при переполнении стека.Но я не знаю, как это исправить: Как конвертировать DateTime?в DateTime
private DateTime? expires = null;
public DateTime? DateExpires {
get
{
System.Diagnostics.Debug.WriteLine("DateTime Max Value: " + DateTime.MaxValue);
System.Diagnostics.Debug.WriteLine("Date expires: " + expires);
System.Diagnostics.Debug.WriteLine("Date expires value: " + expires.Value);
if (expires.HasValue)
{
System.Diagnostics.Debug.WriteLine("I have some value");
DateTime dtime = expires.Value;
System.Diagnostics.Debug.WriteLine("Dtime value: " + dtime);
int result = DateTime.Compare(dtime, DateTime.MaxValue);
System.Diagnostics.Debug.WriteLine("Compared result: " + result);
} else
{
System.Diagnostics.Debug.WriteLine("I don't have any value");
}
return expires.Value;
}
set
{
expires = value;
}
}
Вот мои результаты для кода:
DateTime Max Value: 12/31/9999 11:59:59 PM
Date expires: 12/31/9999 11:59:59 PM
Date expires value: 12/31/9999 11:59:59 PM
I have some value
Dtime value: 12/31/9999 11:59:59 PM
Compared result: -1
Обновление:
В одном из методов значение expires
установлено
_model.expires = _model.expires != null ? _model.expires.Value : DateTime.MaxValue;