我碰到一個方法,通過轉換到一個列表本身這樣的改變在foreach
循環列表:在這個foreach循環中創建了垃圾嗎?
foreach (var item in myList.ToList())
{
//add or remove items from myList
}
(如果你試圖修改myList
直接引發錯誤,因爲枚舉基本上將其鎖定)
這是可行的,因爲它不是原來被修改的myList
。我的問題是,這是否方法創建garbage
當循環結束(即從是一個從ToList
方法返回?對於小環的List
,那會是最好使用for loop
避免垃圾的產生?
是不是推理,至少給了評論「/ /添加或從** myList **刪除項目」?它不應該讀取(longish):「這是因爲它不是'myList',它是**迭代的**(而是使用'ToList()'創建的副本),所以'myList'可以在foreach中修改-循環。「 – 2011-06-10 05:22:20