1

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

4

2 回答 2

6

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

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

于 2012-10-10T08:26:35.190 回答
-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");

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

于 2012-10-10T08:43:47.120 回答