请看下面的代码:
using System;
class MyClass
{
static void Main()
{
object o = ".NET Framework";
object o1 = new string(".NET Framework".ToCharArray());
Console.WriteLine(o == o1);
Console.WriteLine(o.Equals(o1));
}
}
结果是:
假
真
现在考虑这个:
using System;
class MyClass
{
static void Main()
{
object o = ".NET Framework";
object o1 = ".NET Framework";
Console.WriteLine(o == o1);
Console.WriteLine(o.Equals(o1));
}
}
结果是
:
真真
“==”比较对象引用是否相同,而“.Equals()”比较内容是否相同。我想知道这些代码有什么不同?!
object o1 = new string(".NET Framework".ToCharArray());
和
object o1 = ".NET Framework";
他们都变成了一个对象,但为什么结果不同?