C#中, ==运算符的问题!

2025-05-09 10:50:15
推荐回答(1个)
回答1:

  1. True.

  2. False

  3. 这里是比较值, 所以为false.

  4. 这里当然是True, 因为在执行完 s4 = s2 + s3 后, s4 的值变成"123", 所以当前是s1="123", s4="123", 所以这里相等,这里比较的也是值,而不是引用

 

我觉得你有这么一问是不是在哪里看到了,==是要比较引用和值得,都相当才会返回true,这里两个对象当然,地址空间不等,所以应该返回false,是吧,实际上你想的是对的,这里== 在string这个类里面被重载了,所以这里会比较值而不是对象的引用。

我觉得吧,以后为了避免混乱,最好,对对象来说,就用equals, 对值类型就用==.比较好。