我正在使用对象的IReadOnlyCollection
。为什么IReadOnlyCollection有ElementAt但没有IndexOf
现在我有点惊讶,因为我可以使用linq
扩展方法ElementAt()
。但我无法访问IndexOf()
。
这对我来说看起来有点不合逻辑:我可以在给定的位置获取元素,但是我无法获得该元素的位置。
有没有特定的原因呢?
我已经阅读 - >How to get the index of an element in an IEnumerable?我对这个回应并不满意。
我完全同意你这样一个事实,即枚举类型不能被索引访问,但我仍然可以使用ElementAt()。对我来说,这是一个有点傻,我得到的元素在一个给定的位置,但不是元素的位置。这更多的是一个哲学观点:) –
这确实是一个奇怪的方法。我认为它的存在是因为任何人都需要这个未来,但是直到现在,对于一个'IndexOf'方法来说,并没有很高的demad。 – HimBromBeere