2011-06-05 28 views
3

對於經常在集合開始時插入和刪除對象的代碼,您會推薦什麼樣的集合?開始時插入和刪除的高效集合

下面是一些代碼來說明我的要求

while (collection.Count != 0) 
{ 
    object obj = collection[0]; 
    collection.RemoveAt(0); 

    ... 

    if (somethingWith(obj)) 
     collection.Insert(0, anotherObj); 

    ... 
} 

有比0集內的其他位置沒有插入或清除未排序。

你會推薦什麼?

編輯:

我真的不需要對收藏做任何事情。該集合用於對應該處理的對象進行排隊(並且在處理期間收集會被填充)。

回答

8

看來你只是想實現一個LIFO容器,所以你可以使用一個Stack<T>

while (stack.Count > 0) { 
    object obj = stack.Pop(); 
    // ... 
    if (SomethingWith(obj)) { 
     stack.Push(anotherObj); 
    } 
}