Maybe the Wikipedia article on Boolean algebra helps.
The suggestion is a micro-optimization that can turn macro in a hurry. The just-in-time compiler generates a conditional branch for the if() statement, at least the ones created by Microsoft are not smart enough to optimize the code themselves. You'd have to have a look-see if the Mono jitter can do a better job by looking at the generated machine code. Typical code generation looks like:
if (someBoolVar) anotherBoolVar = true;
00007FFD989F3BB1 movzx eax,cl
00007FFD989F3BB4 test eax,eax
00007FFD989F3BB6 je 00007FFD989F3BBA // <=== here
00007FFD989F3BB8 mov dl,1
00007FFD989F3BBA etc...
Conditional branches like the JE instruction in the above machine code are troublesome to a modern processor, it relies heavily on the pipeline to make code execute fast. Instruction decoding and micro-ops generation is done ahead of time. Also a really big deal to the prefetcher, it tries to guess what memory locations need to be available in the caches so the execution engine doesn't stall when the memory content is needed. Memory is very, very slow compared to the raw execution speed of the processor's execution engine.
A processor has a branch predictor, it keeps track of whether the branch was taken when the code previously executed. And assumes that the branch will behave the same way again. If it guesses wrong then the pipeline needs to be flushed. A lot of work is thrown away and the processor will stall while it fills back up. Additional long stalls can occur if the prefetcher guessed wrong, high odds that it did. There is a good SO post that explains the consequences of a wrong prediction.
Using the boolean algebra avoids the branch, it will generate an OR or AND instruction, they take a single cycle and can never flush the pipeline. Certainly a micro-optimization, it only turns macro when this code is located inside the ~10% of your code that determines the speed of your program. The IDE won't be smart enough to tell you whether that's the case, only a profiler can show you that.
Fwiw, there are more micro-optimizations like that, programmers tend to use the && and || operators inappropriately. The short-circuiting behavior of those operators always requires a branch in the machine code. That behavior is not always needed, usually it isn't and the & and | operator can generate far faster code. If the left side operand is poorly predicted then it can make code 500% slower.