C# - 手动调用GC.Collect()(禁用后台GC)

时间:2012-10-10 08:24:22

标签: c# garbage-collection

我想比较C ++和C#的垃圾收集之间的性能。可以手动拨打GC.Collect()吗? (我想在特定的时刻运行它。)

2 个答案:

答案 0 :(得分:6)

除了使用不安全代码之外,无法在C#中禁用垃圾回收。您可以通过调用System.GC.Collect()或其各种重载之一来强制垃圾收集器运行。

完整的MSDN文档:http://goo.gl/gc7mQ

答案 1 :(得分:-1)

<击>

<击>

您可以触发一个特定类的处理。 当IDisposeable上下文退出时,将在using上下文中实现并运行using的类。 MyLogger logger = new MyLogger("time.dat"); logger.log("before using"); using (MyDisposableClass myClass = new MyDisposableClass()) { logger.log("before execution"); myClass.doingSomething() logger.log("after execution"); logger.log("before dispose"); } logger.log("after dispose");

这实际上是错误的 - 请参阅评论。