【发布时间】:2017-06-27 23:04:21
【问题描述】:
我是 C# 新手,想知道 list1 在 list1 = null 之后是否真的从内存中删除了;
List<string> list1 = new List<string>()
{
"carrot",
"fox",
"explorer"
};
List<string> list2 = new List<string>();
list2.Add(list1[0]);
list2.Add(list1[1]);
list2.Add(list1[2]);
list1 = null;
此代码仅用于文档,在我的实际情况下,list1 对象非常大,我需要将其从内存中删除,并且仅继续使用 list2,它是原始 list1 的一小部分。
我假设 list1[0] 和 list2[0] 正在引用内存中的同一个对象,直到我用新值更新 list2[0]...这是正确的吗?
【问题讨论】: