Logo
Section 1 / 15

垃圾回收器

了解 .NET 垃圾回收器如何管理内存分配、代际以及不可达对象的自动清理。

导入

垃圾回收器

了解 .NET 垃圾回收器如何管理内存分配、代际以及不可达对象的自动清理。

指定垃圾回收代数

1GC.Collect(1); 2GC.Collect(2);

强制立即进行垃圾回收

1GC.Collect(0, GCCollectionMode.Forced);
1// 在托管堆上分配标准对象 2object first = new object(); 3object second = new object(); 4object third = new object(); 5object fourth = new object(); 6 7// 这些将输出 '0' 8Console.WriteLine(GC.GetGeneration(first)); 9Console.WriteLine(GC.GetGeneration(second)); 10Console.WriteLine(GC.GetGeneration(third)); 11Console.WriteLine(GC.GetGeneration(fourth)); 12 13// 移除引用以使对象不可达 14second = null; 15fourth = null; 16 17// 强制收集第 0 代 18GC.Collect(0, GCCollectionMode.Forced); 19GC.WaitForPendingFinalizers(); 20 21// 现在这些将输出 '1',因为它们存活于本次回收 22Console.WriteLine(GC.GetGeneration(first)); 23Console.WriteLine(GC.GetGeneration(third));

动态绑定

终结器