Is there ever a circumstance in which I would not want to use the AndAlso
operator rather than the And
operator? …or in which I would not want to use the OrElse
operator rather than the Or
operator?
From MSDN:
Short-Circuiting Trade-Offs
Short-circuiting can improve performance by not evaluating an expression that cannot alter the result of the logical operation. However, if that expression performs additional actions, short-circuiting skips those actions. For example, if the expression includes a call to a Function procedure, that procedure is not called if the expression is short-circuited, and any additional code contained in the Function does not run. If your program logic depends on any of that additional code, you should probably avoid short-circuiting operators.
Is there ever a circumstance in which I would not want to use the AndAlso operator rather than the And operator?
Sure: if you want to make sure that both sides of the expression are evaluated. This might be the case if, for example, both sides are method calls that return booleans as a result of some other operation that has a side effect.
But in general, use AndAlso
/OrElse
whenever you would use &&
/||
in C/C++/C#, which of course is the vast majority of the time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With