object 和 string类型都是引用类型,为什么object a,b;
a=1;b=1;
Console.WriteLine(a==b);
string c,d;
c='hh";d="hh";
Consoe.WriteLine(c==d);显示:
false
true
a=1;b=1;
Console.WriteLine(a==b);
string c,d;
c='hh";d="hh";
Consoe.WriteLine(c==d);显示:
false
true
c='hh";d="hh";
Consoe.WriteLine(c==d);这里string进行了运算符重载
这一句重载成了是判断知是否相等?
谢谢
{
if (a == b)
{
return true;
}
if ((a != null) && (b != null))
{
return string.EqualsHelper(a, b);
}
return false;
}这是string的==比较
object类型是引用类型,即无论你给他赋的是什么值,要执行装箱操作,形成引用类型;
当从object中取值时执行拆箱操作,这时就要使用显示的类型转换才行。
所以问题可以解了,
你的第一个操作,是两个引用相比较,肯定不相同,
你的第二个操作,是两个string类型,是值类型,当然相同。