BindingList与IList <t> DataSource,Element Order </t>

时间:2011-03-17 10:51:59

标签: c# winforms data-binding ilist bindinglist

我可以假设IList<T>中的元素的顺序保持不变,当我将其用作BindingSourceDataSource(Windows窗体)时,{{1}和BindingSource.Position在同一个对象上是等价的吗?

这对我很重要,因为List.IndexOf()的列表不支持Find,因此我使用普通的旧BindingList方法来确定元素的位置:< / p>

IList.IndexOf

显然这很好用。但我不知道我是否还不知道我是否真的可以依靠这个来工作。我有点担心,因为myBindingSource.Position = myItemList.IndexOf(myItem); 的{​​{1}}属性将数据复制到新的列表结构中(参见DataSource备注)......

干杯,马蒂亚斯

1 个答案:

答案 0 :(得分:1)

是的,IList<T>应始终保持相同的顺序。这是超出IEnumerable<T>(在附加功能方面)的一步,它不保证排序,只能枚举集合。 IList<T>添加了索引以支持更多功能,例如需要建立索引的.IndexOf().RemoveAt()

现在,无论您填充IList<T>的数据源是否以相同的顺序返回项目,这都是另一个故事。