我想比较我在 C++ 和 C# 中的垃圾收集的性能。可以GC.Collect()
手动调用吗?(我想在特定时刻运行它。)
问问题
2918 次
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 回答