📅  最后修改于: 2023-12-03 15:27:49.215000             🧑  作者: Mango
在 C# 中,可以使用 GC.CollectionCount
方法来获取应用程序启动以来垃圾回收器运行的次数,其中包括了针对对象和终结器的回收次数。因此,我们可以通过计算两次垃圾回收器运行次数之间对象增加的数量来获取创建对象的总数。
using System;
class Program
{
static void Main(string[] args)
{
long gcCount1 = GC.CollectionCount(0);
long gcCount2 = GC.CollectionCount(0);
long objectCount = gcCount2 > gcCount1 ? (gcCount2 - gcCount1) * 10000 : (gcCount1 - gcCount2) * 10000;
Console.WriteLine($"创建对象总数为:{objectCount}");
}
}
首先,我们在 Main
方法中调用了两次 GC.CollectionCount(0)
方法,并记录下运行次数。然后,我们计算两次运行之间增加的对象数量,通过乘以 10000 的方式将其转化为具体的对象数。最后,我们输出创建对象的总数。
GC.CollectionCount
返回的是运行次数,因此需要乘以一个适当的系数才能转化为具体的对象数。这个系数可以根据实际情况进行调整。