我需要遍歷一個LinkedList<T>
(在.NET 2.0中)並根據給定條件移除所有項目。 這是Java的下簡單的方法,因爲我能做到以下幾點:LinkedList <T>(2.0):迭代移除項目
Iterator<E> i = list.iterator();
while (i.hasNext()) {
E e = i.next();
if (e == x) {
// Found, so move it to the front,
i.remove();
list.addFirst(x);
// Return it
return x;
}
}
不幸的是,在IEnumerator<T>
(的Iterator<E>
等效)的.NET行爲沒有remove
方法從集合中刪除當前元素。 另外,在LinkedList<T>
中,沒有辦法訪問給定索引處的元素,通過從最後一個迭代回到第一個來完成任務。
你有什麼想法如何做到這一點?非常感謝你!
爲什麼這是一個社會維基?這不是一種主觀的東西 - 這裏有一個明確的答案。 – 2009-08-17 16:03:10