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

标签 c# wpf collections

<分区>

在编写 WPF 应用程序时有多种集合可供选择,但我不确定在存储数据时应使用哪些集合。如果我使用 ObservableCollection 似乎一切都可以工作s 并实现 INotifyPropertyChanged .

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

ObservableCollection

List<ClassA>

IList

CollectionView

ICollectionView

IEnumerable

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

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

最佳答案

如果您希望 GUI 在添加或删除项目时更新,请使用 ObservableCollectionObservableCollection 是一个自动实现了 ICollectionChanged 的列表。

否则使用List

当您想要应用排序、分组、过滤以及更复杂的操作时,请使用 CollectionView

关于c# - 如何确定在 WPF 中使用哪个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17600526/

相关文章:

java - 为什么 Java 集合的删除方法不是通用的?

c# - 在 C# 中将对象 T 转换为 List<T>

c# - FileWatcher 2 目录

c# - 从 switch 语句返回对象(T)

c# - 如何将 DbContext 实现注入(inject) Prism ViewModel 构造函数?

c# - 遍历 TabControl 中的 TabItems

c# - observable 的依赖属性

java - 删除 Spring 安全角色

c# - 我可以将 XtraGrid 上的行单元格值设为只读一行吗?

c# - 如何在 .NET 4.0 中使用 Microsoft.Bcl.Async 支持 TransactionScope 中的异步方法?