3

当我将它用作 a的 a (Windows 窗体)时,我可以假设元素的顺序IList<T>保持不变,以便和在同一个对象上是等价的吗?DataSourceBindingSourceBindingSource.PositionList.IndexOf()

这对我很重要,因为Findno 列表不支持BindingList,所以我使用普通的旧IList.IndexOf方法来确定元素的位置:

myBindingSource.Position = myItemList.IndexOf(myItem);

显然这工作正常。但我不知道我是否还不能弄清楚我是否真的可以依靠它来工作。我有点担心,因为BindingList'List属性将数据复制到新的列表结构中(见DataSource备注)...

干杯,马蒂亚斯

4

1 回答 1

1

是的,IList<T>应该始终保持相同的顺序。这是一个超越IEnumerable<T>(就附加功能而言)的步骤,它不保证排序,只是枚举集合的能力。 添加索引以支持更多功能,IList<T>例如需要索引的功能。.IndexOf().RemoveAt()

现在,无论您从中填充商品的数据源是否IList<T>以相同的顺序返回商品,这都是另一回事。

于 2011-03-17T10:56:10.573 回答