刪除對象在Java中,我可以重複採集和使用方法Iterator.remove()
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html#remove()的Java模擬,從集合
這是非常handly和自然從中刪除某些對象。就像你正在冰箱裏尋找食物,扔掉過期日期的食物。如何在C#中做同樣的事情?
我想iterate
和clean-up
集合在同一個循環。
有幾個相關的問題,例如How to iterate and update a list但我仍然無法找到此操作的精確複製在C#
我想明確使用'for'或'foreach'循環,因爲我想對每個項目執行一些操作。在此過程中,我想刪除過期的商品。你的建議只會刪除過時的項目,但它不允許我在其他項目上工作。 – javapowered 2012-01-02 21:14:07
@javapowered:當然它。謂詞是爲每個項目調用的,其返回值控制着項目是否被移除。您可以在謂詞中進行工作,唯一不能做的就是替換項目(但可以更改將影響集合的引用類型的成員)。由於您無法在移除的項目上工作,因此要求您返回以便導致移除似乎不是問題。 – 2012-01-02 21:16:11
@javapowered,另一個例子'var list = new List(){1,2,3,4,5,6};名單。RemoveAll(i => i%2 == 0);' –
2012-01-02 21:18:15