here is a tl;dr
I come from a C++ background. && is suppose to check if left side is true and right side is true. what does & have anything to do with th
These operators become easier to understand if you translate them into VB.Net, as follows:
&& = AndAlso: IF foo IsNot Nothing AndAlso foo.bar=1 then <>...
|| = OrElse: If foo Is Nothing OrElse foo.bar=0 then ...<>...
That way when you read them in English you really get the idea of what they are trying to acheive.