可以调用GC.Collect()
或者使用using 垃圾回收 GC 类提供 GC.Collect 方法,您可以使用该方法让应用程序在一定程度上直接控制垃圾回收器。通常情况下,您应该避免调用任何回收方法,让垃圾回收器独立运行。在大多数情况下,垃圾回收器在确定执行回收的最佳时机方面更有优势。但是,在某些不常发生的情况下,强制回收可以提高应用程序的性能。当应用程序代码中某个确定的点上使用的内存量大量减少时,在这种情况下使用 GC.Collect 方法可能比较合适。例如,应用程序可能使用引用大量非托管资源的文档。当您的应用程序关闭该文档时,您完全知道已经不再需要文档曾使用的资源了。出于性能的原因,一次全部释放这些资源很有意义。有关更多信息,请参阅 GC.Collect 方法。在垃圾回收器执行回收之前,它会挂起当前正在执行的所有线程。如果不必要地多次调用 GC.Collect,这可能会造成性能问题。您还应该注意不要将调用 GC.Collect 的代码放置在程序中用户可以经常调用的点上。这可能会削弱垃圾回收器中优化引擎的作用,而垃圾回收器可以确定运行垃圾回收的最佳时间。你可以参考帮助.net框架/使用.net框架编程/垃圾回收编程

解决方案 »

  1.   

    使用using 
    C# 编程语言的 using 语句通过简化您必须编写以创建和清理对象的代码,更为自动地对 Dispose 方法进行调用。using 语句获得一个或多个资源,执行您指定的语句,然后处置对象。请注意,using 语句只用于生存期不超过在其中构建对象的方法的对象。下面的代码示例创建并清理 ResourceWrapper 类的实例class myApp
    {
       public static void Main()
       {
          using (ResourceWrapper r1 = new ResourceWrapper())
          {
             // Do something with the object.
             r1.DoSomething();
          }
       }
    }
      

  2.   

    或者使用GC.Collect()
    可以参考帮助.net框架/ 使用.net框架编程/ 垃圾回收编程
      

  3.   

    立即是不太现实的,你不知道GC什么时候会回收你的资源。不过,楼上两位的方法都可以把资源的回收期提前(具体时间只有GC才知道)。