gpt4 book ai didi

c# - 我可以在 C# 中强制清理内存吗?

转载 作者:太空狗 更新时间:2023-10-29 20:43:56 26 4
gpt4 key购买 nike

我听说 C# 不会立即释放内存,即使您用完了它也是如此。我可以强制 C# 释放内存吗?

我正在使用 Visual Studio 2008 Express。这重要吗?

附言我对 C# 及其管理内存的方式没有任何问题。我只是好奇。

最佳答案

吉姆,

你没有听错。它通过称为垃圾收集器的机制定期清理内存。您可以通过如下所示的调用“强制”垃圾回收。

GC.Collect();

我强烈建议您阅读 this MSDN article on garbage collection .

编辑 1:“Force”在引号中。就像另一张海报一样更清楚,这实际上只是暗示。您无法真正让它在特定时间点发生。因此链接到关于 .Net 中垃圾收集的文章

编辑 2:我意识到这里的每个人都只直接回答了您的主要问题。至于你的次要问题。使用 Visual Studio 2008 Express 仍将使用 .net 框架,它执行垃圾收集。因此,如果您升级到专业版,您仍将拥有相同的内存管理功能/限制。

编辑 3:This wikipedia aritcles on finalizers给出了一些关于在终结器中适合做什么的很好的指示。基本上,如果您正在创建一个可以访问关键资源的对象,或者如果您正在使用这样的对象,请实现 IDispose 和/或利用 using 语句。使用将自动调用 Dispose 方法,即使在抛出异常时也是如此。这并不意味着您不需要给运行终结器提示...

关于c# - 我可以在 C# 中强制清理内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1852929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com