0

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

拿这段代码:

    Object obj = new Object();

    Object obj2;

    obj2 = obj;

所以我的问题是:

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

谢谢,罗。

4

2 回答 2

2

obj2具有对指向的同一对象的引用obj。由于它们指向同一个对象,因此对 的修改obj2“反映”在obj.

于 2013-09-04T23:47:19.790 回答
1

这是一个简单的例子来说明它是参考而不是复制

 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
于 2013-09-04T23:55:01.550 回答