我现在有一个二维List : List<List<myObject>> myList;myList里有对象若干, 都是用new的方式创建后加入到myList的, 现在我不需要这些对象了, 直接myList.Clear()这样可以清空内存吗?
或者还是用如下方法?
for(int i = 0; i < myList.Count; i++)
{
myList[i].Clear();
}myList.Clear();
用哪种方法是正确的?
或者还是用如下方法?
for(int i = 0; i < myList.Count; i++)
{
myList[i].Clear();
}myList.Clear();
用哪种方法是正确的?
到时垃圾回收的时候 会自动 清除myList所指向向的对象
// Removes all elements from the System.Collections.Generic.List<T>.
不需要这些对象时,垃圾回收由GC来做...
用循环释放 ,我真没有用过。 你可以测试一下,按原理不用循环
public void MyMethod()
{
for(int i = 0; i < myList.Count; i++)
{
myList[i].Clear();
} myList.Clear();
for(int i = 0; i < NewList.Count; i++)
{
for(int j = 0; j < NewList[i].Count; j++)
{
myObject tmp = new myObject();
tmp = NewList.Clone() as myObject
myList[i].Add(tmp);
}
}}//这个方法是每几十秒调用一次, 我应该怎样去释放这些被new出来的资源, C#里没有delete关键字
//这样会不会造成内存泄露?