这是.NET的好处,你不用对这样的东西进行任何处理就可以编写自己的代码。

解决方案 »

  1.   

    不过,如果你一定要这样,.NET还是允许你手动回收的:
    调用FINALIZE方法(可重写)
      

  2.   

    写 data=null
    还是一个好习惯
      

  3.   

    .net里盗用了JAVA的垃圾回收的概念。不需要你去想怎么释放一个对象,系统自动会回收。非要回收的话请参见
    using 语句定义一个范围,在此范围的末尾将处理对象。using (expression | type identifier = initializer)
    {
    }
    此处: expression 
    希望在退出 using 语句时调用 Dispose 的表达式。 
    type 
    identifier 的类型。 
    identifier 
    type 类型的名称或标识符。定义一个以上 type 类型的identifier 是可以的。在每一个 identifier = initializer 的前边都有一个逗号。 
    initializer 
    创建对象的表达式。 
    备注
    在 using 语句中创建一个实例,确保退出 using 语句时在对象上调用 Dispose。当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。实例化的对象必须实现 System.IDisposable 接口。示例
    // cs_using_statement.cs
    // compile with /reference:System.Drawing.dll
    using System.Drawing;
    class a
    {
       public static void Main()
       {
          using (Font MyFont = new Font("Arial", 10.0f), MyFont2 = new Font("Arial", 10.0f))
          {
             // use MyFont and MyFont2
          }   // compiler will call Dispose on MyFont and MyFont2      Font MyFont3 = new Font("Arial", 10.0f);
          using (MyFont3)
          {
             // use MyFont3
          }   // compiler will call Dispose on MyFont3   }
    }