回 帖 发 新 帖 刷新版面

主题:问一个有关内存的问题

using System;

class Class1
{
  public int value =0;
}

class test
 {
    static void Main(){
         Class1 ref1 = new Class1();
         Class1 ref2 = ref1;
         ref2.value =123;
         }
}

在以上代码段中,当执行到Class1 ref2 = ref1;语句后, ref1.value 变量原指向的内存
空间怎么样了? 是被C#的自动内存收集器处理了?还是成了垃圾空间?或者我们必须手工处理?

回复列表 (共3个回复)

沙发

ref1.value 变量原指向的内存空间:class Class1,被C#的自动内存收集器处理了.

板凳

ref1和ref2指向同一片内存空间,对ref2的修改就是对ref1的修改。

3 楼

ref2 实际上只是对ref1的引用而已

我来回复

您尚未登录,请登录后再回复。点此登录或注册