私はC#が初めてで、list1 = null;の後にlist1が本当にメモリから削除されるかどうか疑問に思っています。
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 オブジェクトは非常に大きいため、メモリから削除する必要があり、元の list1 の一部である list2 のみを続行する必要があります。
list1[0] と list2[0] は、list2[0] を新しい値で更新するまで、メモリ内の同じオブジェクトを参照していると思います...それは正しいですか?