我一直想知道两个变量是否指向一个类的同一实例。听起来很明显,但是可以做到吗?
例如。想象一下,下面的代码带有一个名为“IsSameInstanceAs”的运算符。是否有任何方法可以使用.Net,C#来满足if语句中的注释中所述的“IsSameInstanceAs”运算符的逻辑:
public class MyClass
{
public String MyString;
public static void TestForSameInstance()
{
MyClass myInstanceA = new MyClass();
MyClass myInstanceB = myInstanceA;
MyClass myInstanceC = new MyClass();
myInstanceA.MyString = "A String";
myInstanceC.MyString = myInstanceA.MyString;
if (myInstanceA IsSameInstanceAs myInstanceB)
{
// These are the same instance so they will match and this if is true
}
if (myInstanceA IsSameInstanceAs myInstanceC)
{
// These are not the same instance so they will not match and this if is false
}
}
}
我相信这是无法完成的,但是如果有人知道的话,请帮忙。记住,我不想比较对象实例,我想知道它们是否是同一实例。
约翰·汤普森
最佳答案
Object.ReferenceEquals是相关方法。
确定指定的Object实例是否相同
实例。