首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >INotifyCollectionChanged为什么使用IList

INotifyCollectionChanged为什么使用IList
EN

Stack Overflow用户
提问于 2011-12-04 10:02:49
回答 3查看 489关注 0票数 0

读了这里,我明白了为什么它不是IList<T>但是为什么是IList呢?添加到它中是没有意义的,所以它应该只是一个IEnumerable,或者如果您真的想要一个索引器(没有理由),那么使用ReadOnlyCollection。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-04 10:09:07

看看NotifyCollectionChangedEventArgs

它具有NewStartingIndexOldStartingIndex属性。

因此,设计是基于索引集合,我认为这是方便的,如列表框。

票数 2
EN

Stack Overflow用户

发布于 2011-12-04 10:24:30

索引是理想的列表虚拟化方案。

IList是提供元素索引访问的最简单的集合接口。ReadOnlyCollection是一个具体的类,到目前为止,它更局限于实现者。

票数 1
EN

Stack Overflow用户

发布于 2011-12-04 10:12:15

我认为,对于INotifyCollectionChanged,您通常需要根据组件的名称(因为属性存储为字符串)来查找组件,因此必须有一个使用字符串的索引器(底层结构可能应该类似于HashTable)。

MSDN网页上,您可以找到以下建议:

如果您有一个高级场景,并且希望实现您自己的集合,请考虑使用IList,它提供了一个非泛型对象集合,这些对象可以通过索引单独访问并提供最佳性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8374543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档