System.GC.CollectionCount Method

Returns the number of times garbage collection has occurred for the specified generation of objects.

Syntax

[System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)]
public static int CollectionCount (int generation)

Parameters

generation
The generation of objects for which the garbage collection count is to be determined.

Returns

The number of times garbage collection has occurred for the specified generation since the process was started.

Remarks

If you implement your own resource management, you might need to force garbage collection periodically by calling the GC.Collect(int) method. Because this is an expensive operation, you can improve performance by skipping the call when a garbage collection has occurred recently. Save the value returned by GC.CollectionCount(int) immediately after calling GC.Collect(int). The next time you need to call GC.Collect(int), compare the current value returned by GC.CollectionCount(int) to the saved value. If the two values are equal, no collection has occurred in the interim and it is reasonable to call GC.Collect(int) again.

Requirements

Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 2.0.0.0, 4.0.0.0
Since: .NET 2.0