我有一個穩定增長的元素列表,直到我將該列表中的所有數據轉儲到文件中。然後我想再次使用該列表來達到同樣的目的。將它簡單地分配給一個新列表是不好的做法,而不是從列表中刪除所有元素?看起來垃圾收集應該照顧舊列表,這樣我就不必擔心刪除元素。讓C#垃圾收集列表而不是重新使用它是不好的形式嗎?
例如:
var myList = new List<element>();
myList.Add(someElement);
myList.Add(anotherElement);
// dumps the elements into a file
myList = new List<element>();
編輯:即使有解決這個簡單的方法,我想知道太瞭解它的哲學方面。如果有辦法解決垃圾收集問題,是否不好?允許垃圾收集與刪除元素並重用相同內存有什麼關係?
http://stackoverflow.com/questions/3106537/using-the-clear-method-vs-new-object – 2012-07-18 18:53:12
請參閱我的編輯回答評論您的編輯。 – phoog 2012-07-18 19:23:07
我敢打賭,你測量它時不會看到任何區別。但有一件事:當你創建一個新的'List <>'這將是很長的時間,如果你知道它將會變成多久,這是一個優化使用'新列表(容量)''capacity' '是一個'int'。無論是實例化List <>'還是多次執行(重新分配),這都很有用。 –
2012-07-18 19:28:23