对不起,如果这个问题看起来很奇怪,我不知道该怎么说。因此,我不确定以前是否有人问过这个问题。
拿这段代码:
Object obj = new Object();
Object obj2;
obj2 = obj;
所以我的问题是:
当我分配obj
给 时obj2
,是obj2
指向obj
的内存,还是运行时分配与 的内存相同的新内存块obj
?
谢谢,罗。
对不起,如果这个问题看起来很奇怪,我不知道该怎么说。因此,我不确定以前是否有人问过这个问题。
拿这段代码:
Object obj = new Object();
Object obj2;
obj2 = obj;
所以我的问题是:
当我分配obj
给 时obj2
,是obj2
指向obj
的内存,还是运行时分配与 的内存相同的新内存块obj
?
谢谢,罗。
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