http://msdn.microsoft.com/en-us/library/sbf85k1c.aspx Binary & operators are predefined for the integral types and bool. For integral types, & computes the logical bitwise AND of its operands. For bool operands, & computes the logical AND of its operands; that is, the result is true if and only if both its operands are true.
The & operator evaluates both operators regardless of the first one's value.
http://msdn.microsoft.com/en-us/library/2a723cdk.aspxThe conditional-AND operator (&&) performs a logical-AND of its bool operands, but only evaluates its second operand if necessary.