猿问

在C#中&跟&&的区别是什么

慕后森
浏览 1434回答 2
2回答

慕莱坞森

&是按位与运算符(或取地址运算符),&&是条件与运算符(也叫逻辑与运算符)。进行与运算时,二者的不同之处在于:&可以对两个整型数据,按照二进制位,逐位进行“与”运算,其运算结果为整型,&还可以对两个逻辑型数据进行“与”运算,期盼结果为逻辑型数据;而&&则只能对两个逻辑型数据进行“与”运算,其运算结果为逻辑型数据。例如:    7&5                   // 结果为 5    true & true       // 结果为 true    true && true    // 结果为 true&&则有可能只对第一个操作数进行取值,而&则总是对每个操作数都进行取值。例1.    int i=0;    bool b;    b = i>0 && ++i>0;    // 第一个条件就不成立,则不再考虑第二个条件    //直接得出结果 b=false, 而且 i=0例2.    int i=0;    bool b;    b=i>0 & ++i>0;    // 无论第一个条件是否成立,都会对第二个操作数进行取值,    // 虽然结果为 b=false,但是 i=1&优先级高于&&
随时随地看视频慕课网APP
我要回答