一个类知道它在数组中的位置是不好的做法吗?

Jos*_*osh 1 c# arrays class

类是否将其位置存储在数组中是不好的做法?

同样,集合维护每个对象的内部位置是不好的做法?

如果这些是不好的做法,有什么更好的方法可以快速访问数组中对象的位置或维持该位置?

Ree*_*sey 9

类是否将其位置存储在数组中是不好的做法?

这取决于,但通常是肯定的.问题在于你违反了单一责任原则 - 这个阶级不仅要维持其状态,还要保持其在其他容器中的"位置".

这可能导致脆弱的设计,因为没有明确的方法来处理诸如类在多个容器中的情况.此外,移动项目会变得更多代码(更改集合+类内部表示)等.