我一直想知道两个变量是否指向一个类的同一实例。听起来很明显,但是可以做到吗?

例如。想象一下,下面的代码带有一个名为“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实例是否相同
实例。

08-04 12:15
查看更多