释放方法内部的空间

本文关键字:空间 内部 方法 释放 | 更新日期: 2023-09-27 18:15:10

假设我在我的方法中创建了一个大的DictioneryList对象,那么在这一点上,保存这个列表的varible有很多项目,所以它占用了大量的内存。所以现在,在我的方法中间的某个地方,我完成了这个变量,不再需要它了,但我仍然在我的方法中做其他事情,所以我不会很快脱离方法的范围,所以为了节省一些内存,如果我将该变量设置为null,这会节省内存吗?

释放方法内部的空间

局部变量在最后一次使用之后才有资格进行垃圾收集。作用域与是否有资格进行垃圾收集无关,将其设置为null不会做任何有用的事情。

如此之多,以至于下一个代码片段中的变量inputresult可能占用相同的内存,因为它们的生命周期不重叠。

void Method(string input)
{
    string result = Process(input);
    Console.WriteLine(result);
}

阅读Eric Lippert的《Construction Destruction》和Raymond Chen的《什么时候一个对象可以被垃圾收集?》