如何遍历list <T>并同时更改它?

时间:2019-10-07 14:00:46

标签: c# list

我有一个要从中删除一些成员的列表。我想使用这种语法:

List<Object> Foo = new List<Object>();

//Some code

foreach (Object obj in Foo)
    if (obj.ShouldBeDeleted())
        Foo.Remove(obj);

遍历列表并同时对其进行修改是不对的,并且快速测试通过InvalidOperationException确认了它。

有选择地删除列表成员的正确方法是什么?我想到了使用列表的副本,并在从原始列表中删除时遍历该副本,但是这样的内存效率不高。

0 个答案:

没有答案