C# 释放方法内部的空间

C# 释放方法内部的空间,c#,C#,假设我在我的方法中创建了一个大的词汇表或列表对象,因此在这一点上,保存此列表的变量中有许多项,因此占用了大量内存。所以现在在我的方法中的某个地方,我已经完成了这个变量,不再需要它了,但是我仍然在我的方法中做其他的事情,所以我不喜欢很快脱离方法的范围,以便保存一些内存,如果我把那个变量设置为 null ,这会节省内存吗?p> 局部变量在上次使用后有资格进行垃圾收集。作用域与是否符合垃圾收集条件无关,将其设置为null不会有任何用处 因此,下一个代码段中的变量input和result可能占用相同的内

假设我在我的方法中创建了一个大的
词汇表
列表
对象,因此在这一点上,保存此列表的
变量
中有许多项,因此占用了大量内存。所以现在在我的方法中的某个地方,我已经完成了这个变量,不再需要它了,但是我仍然在我的方法中做其他的事情,所以我不喜欢很快脱离方法的范围,以便保存一些内存,如果我把那个变量设置为<代码> null <代码>,这会节省内存吗?p> 局部变量在上次使用后有资格进行垃圾收集。作用域与是否符合垃圾收集条件无关,将其设置为
null
不会有任何用处

因此,下一个代码段中的变量
input
result
可能占用相同的内存,因为它们的生命周期不重叠

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

阅读Eric Lippert和Raymond Chen的

你的方法太大了,除非你看到实际的性能影响,并能具体追踪到这一点,否则你可能试图解决一个根本不存在的问题。如果你定义了一个大变量,然后不在整个方法中使用它,这听起来像是一种气味,建议进行一些重构,将一些功能引入到一个单独的方法中。