List Clear()方法是否会破坏子项[C#.NET]?

Jon*_*ock 4 .net c# recursion memory-management

如果我创建一个列表的递归列表:

class myList
{
  List<myList> childLists;
  List<string> things;

  //...
}

List<myList> tempList = new List<myList>();
Run Code Online (Sandbox Code Playgroud)

然后调用tempList.Clear(),它会破坏内存中的所有childLists,还是应该创建一个递归方法来清除所有的childLists呢?

God*_*eke 9

如果子列表中没有其他引用,则它们将正常进行垃圾回收.诀窍是观察对子项的任何悬空引用(数据绑定特别是一旦完成就不会被忽视).