Gib*_*boK 6 c# programming-languages
可能重复:
C#中的逻辑和条件AND,OR有什么区别?
Bitwise AND&和Logical AND &&有什么区别?
Fem*_*ref 17
&使用按位运算修改整数,即.1000 & 1001 = 1000,&&比较布尔值.但是,&作为非短路逻辑加倍,并且意味着如果有false & true,则仍将评估第二个参数.情况并非如此&&.
按位,顾名思义,就是BIT级别的AND运算。
因此,如果对两个整数执行 BITWISE AND:
int a = 7; // b00000111
int b = 3; // b00000011
int c = a & b; // b00000011 (bitwise and)
Run Code Online (Sandbox Code Playgroud)
另一方面,在 C# 中,逻辑 AND 在逻辑(布尔)级别进行操作。因此,您需要布尔值作为运算符,结果是另一个逻辑值:
bool a = true;
bool b = false;
bool c = a && b; // c is false
c = a && true; // c is true
Run Code Online (Sandbox Code Playgroud)
但仅限于逻辑层面。