• servobobo@feddit.nl
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 hours ago

    Surely we could optimize the return value with a switch statement and store the result as an integer to hide the compiler warning about our clearly correct code:

    internal static bool AreBooleansEqual(bool orig, bool val)
    {
        int result;
        if(orig) 
        {
            if(val)
            {
                result = 0;
            }
            else
            {
                result = 1;
            }
        }
        else
        {
            if(val)
            {
                result = 1;
            }
            else
            {
                result = 0;
            }
        }
        switch (result)
        {
             case(1):
                 return true;
             case(0):
                 return false;
             default:
                 return AreBooleansEqual(orig, val);
        }
    }
    

    New LOC: 35

    • InFerNo@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 hours ago

      Make the input variables nullable, then add checks if the values are null, then assign default values if they are, otherwise continue with the passed values.