"abc"+""=="abc"  ? 为true还是false?为什么?

解决方案 »

  1.   

    "" + "" == "" TRUE
    "ABC" + "" + "" == "ABC" + "" TRUE
    "ABC" + "" == "ABC" TRUE
      

  2.   

    应该用.Equals来比较吧,不知道楼上的试过么,都说true呢?等我试一下先====================================================
        角落里的理想 http://blog.csdn.net/zdsdiablo/
    ====================================================
      

  3.   

    为什么?
    "abc"+""之后的结果仍然是abc,所以它们相等
    如果你这样写
    "abc" + " "=="abc",那就不一样了.
      

  4.   

    TRUE TRUE TRUE先执行+运算,再执行比较运算
      

  5.   

    当表达式包含多个运算符时,运算符的优先级控制各运算符的计算顺序。例如,表达式 x + y * z 按 x + (y * z) 计算,因为 * 运算符具有的优先级比 + 运算符高。运算符的优先级由运算符的关联语法产生式的定义确定。例如,一个增量表达式由以 + 或 - 运算符分隔的乘法表达式组成,因此给 + 和 - 运算符赋予的优先级比 *、/ 和 % 运算符低。下表按照从最高到最低的优先级顺序概括了所有的运算符:章节 类别 运算符 
    第 7.5 节  基本 x.y  f(x)  a[x]  x++  x--  new
    typeof  checked  unchecked 
    第 7.6 节  一元 +  -  !  ~  ++x  --x  (T)x
     
    第 7.7 节 乘法 *  /  %
     
    第 7.7 节 加法 +  -
     
    第 7.8 节 移位 <<  >>
     
    第 7.9 节 关系和类型检测 <  >  <=  >=  is  as
     
    第 7.9 节 相等 ==  !=
     
    第 7.10 节 逻辑 AND &
     
    第 7.10 节 逻辑 XOR ^
     
    第 7.10 节 逻辑 OR |
     
    第 7.11 节 条件 AND &&
     
    第 7.11 节 条件 OR ||
     
    第 7.12 节 条件 ?:
     
    第 7.13 节 赋值 =  *=  /=  %=  +=  -=  <<=  >>=  &=  ^=  |=
     当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序关联性控制运算的执行顺序: 除了赋值运算符外,所有的二元运算符都向左顺序关联,意思是从左向右执行运算。例如,x + y + z 按 (x + y) + z 计算。 
    赋值运算符和条件运算符 (?:) 向右顺序关联,意思是从右向左执行运算。例如,x = y = z 按 x = (y = z) 计算。 
    优先级和顺序关联性都可以用括号控制。例如,x + y * z 先将 y 乘以 z 然后将结果与 x 相加,而 (x + y) * z 先将 x 与 y 相加,然后再将结果乘以 z。
      

  6.   

    一个字符串的真实组成为char[],而这个char数组的最后一位为一个结束标志位(不记入字符串长度),而一个空字符串""只包含了这个结束标志位。而一个字符串只能有一个异常标志位,所以想加之后原字符串不变。
      

  7.   

    ""只是一个空串,
    所以"abc"+""结果还是"abc",
    两个"abc"当然相等了。
    楼上说的对,如果把""换成" "的话,结果就为假了。