System.GC.Collect 方法 (Int32, GCCollectionMode)

方法描述

强制在 GCCollectionMode 值所指定的时间对零代到指定代进行垃圾回收。

语法定义(C# System.GC.Collect 方法 (Int32, GCCollectionMode) 的用法)

public static void Collect(
	int generation,
	GCCollectionMode mode
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
generation System-Int32 可执行垃圾回收的最早的代的编号。
mode System-GCCollectionMode GCCollectionMode 值之一。
返回值 void

提示和注释

使用 mode 参数指定是应该立即进行垃圾回收,还是只在回收对象的最佳时间进行垃圾回收。 使用此方法并不保证可以回收指定代中所有无法访问的内存。

若要调整应用程序中重要期间的垃圾回收的侵入性,请设置 LatencyMode 属性。

垃圾回收器不会回收代编号高于 generation 参数所指定代的对象。 使用 MaxGeneration 属性确定 generation 的最大有效值。

若要让垃圾回收器考虑所有对象而不管它们所在的代,请使用此方法的无参数版本。

若要让垃圾回收器在回收对象时一直回收到指定的对象代,请使用 GC.Collect(Int32) 方法重载。 如果指定最大代数,则将回收所有对象。

System.GC.Collect 方法 (Int32, GCCollectionMode)例子

下面的示例使用 Optimized 设置对第 2 代对象进行垃圾回收。

using System;

class Program
{
    static void Main(string[] args)
    {
        GC.Collect(2, GCCollectionMode.Optimized);
    }
}

异常

异常 异常描述
ArgumentOutOfRangeException
  • generation 无效。
  • mode 不是 GCCollectionMode 值之一。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5 SP1、3.0 SP1、2.0 SP1 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。