&(与运算)在数值中运算的过程是先把 数字 转换成二进制, 同位均为1 则该位为1
|(或运算)在数值中运算的过程是先把 数字 转换成二进制, 同位中有1 则该位为1
bool bol1 = false, bol2 = false; bool Result = bol1 & bol2; if (Result == true) { Debug.WriteLine("False & False = True"); } if (Result == false) { Debug.WriteLine("False & False = False"); } Result = bol1 | bol2; if(Result==true) { Debug.WriteLine("False | False = True"); } if (Result == false) { Debug.WriteLine("False | False = False"); } bol1 = false; bol2 = true; Result = bol1 & bol2; if (Result == true) { Console.WriteLine("False & True = True"); } if (Result == false) { Console.WriteLine("False & True = False"); } Result = bol1 | bol2; if (Result == true) { Debug.WriteLine("False | True = True"); } if (Result == false) { Debug.WriteLine("False | True = False"); } bol1 = true; bol2 = false; Result = bol1 & bol2; if (Result == true) { Debug.WriteLine("True & False = True"); } if (Result == false) { Debug.WriteLine("True & False = False"); } Result = bol1 | bol2; if (Result == true) { Debug.WriteLine("True | False = True"); } if (Result == false) { Debug.WriteLine("True | False = False"); } bol1 = true; bol2 = true; Result = bol1 & bol2; if (Result == true) { Debug.WriteLine("True & True = True"); } if (Result == false) { Debug.WriteLine("True & True = False"); } Result = bol1 | bol2; if (Result == true) { Debug.WriteLine("True | True = True"); } if (Result == false) { Debug.WriteLine("True | True = False"); }
VS 中OutPut输出结果
False & False = False False | False = False False & True = False False | True = True True & False = False True | False = True True & True = True True | True = True
我是不推荐拿运算符&或者|来对Bool运算符进行操作, 毕竟If语句中常用的为&&和||