为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕后森 2018-08-01 13:13:22
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

&是按位与运算符(或取地址运算符),&&是条件与运算符(也叫逻辑与运算符)。


进行与运算时,二者的不同之处在于:

  1. &可以对两个整型数据,按照二进制位,逐位进行“与”运算,其运算结果为整型,

    &还可以对两个逻辑型数据进行“与”运算,期盼结果为逻辑型数据;

    而&&则只能对两个逻辑型数据进行“与”运算,其运算结果为逻辑型数据。

    例如:

        7&5                   // 结果为 5

        true & true       // 结果为 true

        true && true    // 结果为 true

  2. &&则有可能只对第一个操作数进行取值,而&则总是对每个操作数都进行取值。

    例1.

  3.     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

  4. &优先级高于&&


查看完整回答
反对 回复 2018-08-09
  • 2 回答
  • 0 关注
  • 1433 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信