How do these practically differ?
// Approach one if (x == 1) DoSomething(); else if (x == 2) DoSomethingElse(); // Approach two if (x == 1) DoSo
If x is modified by multiple threads it is possible that DoSomething() and DoSomethingElse() will both get called with the second approach
x
DoSomething()
DoSomethingElse()