如何确定在WPF中使用哪个集合

Kcv*_*vin 2 c# collections wpf

在编写WPF应用程序时,可以选择集合的所有可能性,我不确定在存储数据时要使用哪些集合.如果我使用ObservableCollections并实现,似乎一切都可以工作INotifyPropertyChanged.

在我的View Models中使用集合时,我应该问自己有哪些问题?特别是,我什么时候应该使用这些收藏品?:

ObservableCollection

List<ClassA>

IList

CollectionView

ICollectionView

IEnumerable

以及您可能想要列出的任何其他内容.

传递它IEnumerable,但我怎么知道哪个是正确的集合?这完全基于我正在使用的控件吗?

Jul*_*ien 10

ObservableCollection当您希望在添加或删除项目时更新GUI时使用.An ObservableCollectionICollectionChanged自动实现的列表.

List否则使用.

使用CollectionView时要应用排序,分组,过滤,又名更复杂的操作.