为什么在这种情况ReferenceEquals
下对象的方法表现不同?
string a= "fg";
string b= "fg";
Console.WriteLine(object.ReferenceEquals(a, b));
所以在这种情况下,它会得到一个结果true
。以防万一,它比较我的字符串的值而不是引用。但是当我写这样的东西时:
StringBuilder c = new StringBuilder("fg");
string d = c.ToString();
Console.WriteLine(object.ReferenceEquals(a, d));
在这种情况下,它工作正常,结果是false
,因为它比较了我的对象的引用。