谁能帮我解释下.net中 &&,||,&,| 有什么区别 并举例说明 我举一个
如:&&表示两都同时满员,现在我要满足a不等于9999与b!=0.1decimal a = 9999;
decimal b = Convert.ToDecimal(0.1);
if (a != 9999 && b !=Convert.ToDecimal(0.1))
{
    Response.Write("aa");
}
else
{
    Response.Write("bb");
}这里为什么输出BB  我想用aa则必须用&或者
if (!(a != 9999 && b !=Convert.ToDecimal(0.1)))其他几个麻烦各位大虾解释下。

解决方案 »

  1.   

    http://www.cnblogs.com/chinafine/archive/2009/02/17/1392309.html
      

  2.   

    把上面代码 改为 
    decimal a = 9999;
                decimal b = Convert.ToDecimal(50);
                if (a != 9999 && b !=Convert.ToDecimal(0.1))
                {
                    Response.Write("aa");
                }
                else
                {
                    Response.Write("bb");
                }
      

  3.   

    &&:逻辑与
    A && B && C
    所有条件都为true时结果才为true,否则为false||:逻辑或
    A || B || C
    所有条件都为false时,结果才为false,否则为ture& :位与
    按位(bit)进行与与运算,对应位都为1时,结果位为1,否则为0
    9 & 3 = 1
    位表示为:
       1001 (9)
    &  0011 (3)
    --------------
    =  0001 (1)|: 位或
    按位(bit)进行或运算,对应位都为0时,结果位为0,否则为1
    9 | 3 = 11
    位表示为:
       1001 (9)
    &  0011 (3)
    --------------
    =  1011 (11)
      

  4.   

    if (a != 9999 && b !=Convert.ToDecimal(0.1))a!=9999为false,所以不必再判断右边的逻辑表达式,马上判定整个表达式为false。
    条件不成立,所以执行else。&&逻辑与,左右两个表达式都要成立才返回true;
    ||逻辑或,左右两个表达式只要一个成立就返回true;
    &按位与,将两个数的二进制值,按每一位进行与运算,结果仍是一个数,而不是true或false;
    |按位或,将两个数的二进制值,按每一位进行或运算,结果仍是一个数,而不是true或false;
      

  5.   

    你需要的是if (a != 9999 && b !=Convert.ToDecimal(0.1))=》if ((a != 9999 && b !=Convert.ToDecimal(0.1))||(a != 9999 == b !=Convert.ToDecimal(0.1)))
      

  6.   

    http://iknow.baidu.com/question/51715775.html导出都是答案 而且还能详细  ,特意帮您百度了一下
      

  7.   

    5、8楼的解释其实是不对的,百度的那个也是一知半解...在.NET中&和|有两种含义,对整型数操作时是位运算符,而对bool型数据操作时才是逻辑运算符...&&和||则只有一种含义,只用作逻辑运算符,也就是说只可对bool型数据操作...与&和|的区别是,前者叫做“短路”逻辑运算符,即只要第一个bool操作数或bool表达式可以判断结果就会忽略第二个操作数或表达式...多数时候作为逻辑运算符&&和||比&和|更高效...但楼主的问题不是要区分这几种运算符,而是逻辑混乱...你要的是11楼那种如何组合的问答...
      

  8.   

    我说一个吧,其他类推,相信你会懂的,&&,比如:if(a && b)和if(a & b),前者,如果a不满足则退出了,而后者a不满足还会去判断b是否满足,也就是多余的累赘,明白了不?
      

  9.   

    &&都为真真时返回true,若有一条不为真,则后续判断不执行
    比如:1==0 && 2==2这个,1==0不为真,2=2这个就不会在执行判断||若有一条为真就返回true,同&&一样,只要有一条为真,就不再执行后续判断&结果与&&相同,但不同点是所有的判断语句都会被执行
    比如:1==0 & 2==2虽然1==0已经不为真,但程序还是会去执行2==2|同&&和|还可以作为操作符
    &表示进行 并 操作,|表示进行 或 操作
      

  10.   

    &&就是两个要同时满足。
    ||就是或者,只要其中一个条件满足!
      

  11.   

    支持8楼,解释了Lz的疑问学习一下5楼所说的 &: 、 |: