我的对象是复制的内存还是指向原始对象的指针';s的内存

本文关键字:内存 对象 指针 复制 我的 原始 | 更新日期: 2023-09-27 18:30:09

如果这个问题看起来很奇怪,我真的不知道该怎么说。因此,我不确定这个问题以前是否被问过。

拿这段代码来说:

    Object obj = new Object();
    Object obj2;
    obj2 = obj;

所以我的问题是:

当我将obj分配给obj2时,obj2是指向obj的内存,还是运行时正在分配与obj的内存相同的新内存块?

谢谢,Ro.

我的对象是复制的内存还是指向原始对象的指针';s的内存

obj2引用了obj指向的同一对象。由于它们指向同一对象,对obj2的修改"反映"在obj中。

这里有一个简单的例子来说明它是一个引用,而不是一个复制

 public class ClassObject
    {
        public int entier;
        public ClassObject(int p_Initial)
        {
            this.entier = p_Initial;
        }
    }

        ClassObject obj1 = new ClassObject(2);
        Console.WriteLine(obj1.entier); ==> Console obj1.entier = 2
        ClassObject obj2 = obj1;
        obj2.entier = 5;
        Console.WriteLine(obj1.entier); ==> Console obj1.entier = 5
        Console.WriteLine(obj2.entier); ==> Console obj2.entier = 5