删除对象在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