c# - Optimized logic in an if....else condition -


does have optimized logic following if...else condition.....
scenario

  1. three date parameters there: datefrom, dateuntil , newdateuntil.
  2. if datefrom <= datenewuntil , dateuntil > newdateuntil then add warning message , returns true
  3. if datefrom > datenewuntil , dateuntil > datenewuntil then add warning message , returns false
  4. if dateuntil < datenewuntil returns true.
    original code commented below. tried optimization.
    please have look.

code

public bool validatedate(datetime pdatefrom, datetime pdateuntil, datetime pnewdateuntil) {   ////original code   //if ((pdateuntil.date > pnewdateuntil.date))   //{   //  if ((pdatefrom.date <= pnewdateuntil.date))   //  {   //    pdateuntil = pnewdateuntil;   //    addwarningmessage("warning message");   //    return true;   //  }   //  else if ((pdatefrom.date > pnewdateuntil.date))   //  {   //    addwarningmessage("warning message");   //    return false;   //  }   //}   //else   //{   //  return true;   //}    //optimized as:   bool returnvalue = false;   if ((pdateuntil > pnewdateuntil.date))   {     returnvalue = pdatefrom <= pnewdateuntil.date ? true : false;     addwarningmessage("warning message");   }   else   {     returnvalue = true;   }   return returnvalue; } 

this should do:

bool returnvalue = pdateuntil <= pnewdateuntil.date || pdatefrom <= pnewdateuntil.date; if ((pdateuntil > pnewdateuntil.date)) {     addwarningmessage("warning message"); } return returnvalue; 

Comments