Во-первых, вы можете позволить. Net сделать работу за вас: зачем изобретать велосипед? Сравнение дат - просто оператор >
:
// Later: d is more than (year, month, day)
public bool IsLater(DateTime d) => d.Date > new DateTime(year, month, day);
Если вы настаиваете на сохранении текущей процедуры, сообщите компилятору, что if
s объединены : превратите if
в else if
и окончательный if
в каждой группе в else
public bool IsLater(Date d)
{
if (d.year > year)
return true;
else if (d.year < year)
return false;
else // we have nothing else but equal years
{
if (d.month > month)
return true;
else if (d.month < month)
return false;
else // nothing else but equal months
{
if (d.day > day)
return true;
else if (d.day < day)
return false;
else
return false;
}
}
}