If the same logic is truly needed for both instances, then: * in an `if` chain they should be combined [source,csharp,diff-id=1,diff-type=compliant] ---- if ((a >= 0 && a < 10) || (a >= 20 && a < 50)) { DoFirst(); DoTheThing(); } else if (a >= 10 && a < 20) { DoTheOtherThing(); } ---- * for a `switch`, one should fall through to the other [source,csharp,diff-id=2,diff-type=compliant] ---- switch (i) { case 1: case 3: DoFirst(); DoSomething(); break; case 2: DoSomethingDifferent(); break; default: DoTheRest(); } ----