有时在列表更改时枚举列表很有用。
例如
foreach (var item in listOfEntities)
item.Update();
// somewhere else (with someEntity contained in listOfEntities)
// an add or remove is made:
someEntity.OnUpdate += (s,e) => listOfEntities.Remove(someEntity);
如果listOfEntities
是. 这将失败List<T>
。
有一些解决方法,比如制作一个副本或一个简单的 for 循环,每个都有不同的缺点,但我想知道框架(或开源)中是否有支持这个的列表类型。