我有一个无法迭代的集合(通过索引),但它确实实现了IEnumerable
.
枚举时有没有办法替换该集合中的对象?我知道这在循环中是不可能的foreach
,但这似乎是一件合理的事情。
我什至考虑使用 C# 的指针,但这些指针不适用于托管类型。
我知道我可以用所有数据填充一个数组,然后以这种方式编辑它,但是
- 看起来很浪费
- 更重要的是,它失去了整个结构。
例如目的:
public void Example(object a,object b, object c)
{
object[] ex = {a,b,c};
object d = new MyCustomType();
}
在不使用任何索引器的情况下,我该如何ex
保持{a,d,c}
?假设我可以访问的唯一方法ex
是通过枚举器。类型中没有Add
orAddAt
方法(此处由 . 扮演object[]
。假设底层结构未知/高度复杂。
我怎样才能做到这一点?