Oh, but all that said, I
might write your example as this:
if (installResult == 0)
Console.WriteLine("MSI Uninstalled.");
else if (reportErrors)
Console.WriteLine("Error: Uninstallation failed. MSI Error code: {0}", installResult);
else
Console.WriteLine("MSI Exit Code: {0}", installResult);
Except that installResult and reportErrors are logically unrelated, so I wouldn't.
This, on the other hand, is fine:
if (count == 0)
Console.WriteLine("You have no bananas");
else if (count == 1)
Console.WriteLine("You have one banana");
else
Console.WriteLine("You have {0} bananas", count);
...because the clauses
are logically related.