foo = null;
if (foo != null)
foo = null;
Если я посмотрю на код второго блока, я подумаю, что вы хотели бы установить для переменной foo значение null, если раньше она не была нулевой, и если бы я посмотрел на первый код, я бы подумал, что вы хотите установить переменную foo, чтобы все равно обнулиться.
Я знаю, что это из-за примера, который вы написали, но в конечном итоге этот вид микрооптимизации только добавляет путаницы (это того не стоит).