ObservableCollection和List

最近一直忙于工作,做的就是WindowsPhone7的开发,我们做的第一个产品也已经上线了。希望大家多提宝贵意见,产品总是在意见中不断升级的。o(∩_∩)o 地址在最下面哦。

最近用的ObservableCollection 和List比较多,就写下它们两个的区别吧。

区别它们,最简单的方法就是看看他们继承的类和接口,还有它们的方法。(学习有技巧,会让你事半功倍,效率提高。)

ObservableCollection比较简单,继承了Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged

image

然后再看看他们的摘要

Collection<T>:为泛型集合提供基类。

INotifyCollectionChanged:将集合的动态更改通知给侦听器,例如,何时添加和移除项或者重置整个集合对象。

INotifyPropertyChanged:向客户端发出某一属性值已更改的通知。

所以再ObservableCollection这个类的方法,对数据的操作很少,重点放在了当自己本事变化的时候(不管是属性,还是集合)会调用发出通知的事件。(一般用于更新UI,当然也可以用于写其他的事情。这个以后会写)

List就比较多了,继承了IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable。

image

IList<T>:表示可按照索引单独访问的一组对象。

ICollection<T>:定义操作泛型集合的方法。

IEnumerable<T>:公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。

IList:表示可按照索引单独访问的对象的非泛型集合。

ICollection:定义所有非泛型集合的大小、枚举器和同步方法。

IEnumerable:公开枚举器,该枚举器支持在非泛型集合上进行简单迭代。

--------------------------------------------------------------------分界线---------------------------------------------------------------

然后随便做个demo看看效果。

image

xaml页面很简单,托2个listbox分别用来绑定ObservableCollection和List

image实体类。

image全部后台代码。

运行程序点击添加书籍按钮

image然后只有ObservableCollection的有添加。表示当集合对象的集合改变时,只有ObservableCollection会发出通知更新UI。

这只是他们两个区别之一。

综上所述:

ObservableCollection表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。

List表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。(大部分操作用Linq,很强大也很方便。)

--------------------------------------------------------------------分界线---------------------------------------------------------------

顺便做下广告:

还没毕业就能做自己喜欢的工作,表示灰常鸡动。也出了第一个产品。

应用市场地址:http://windowsphone.com/s?appid=842303d9-b04e-4e36-a250-9554dfeb9a38(域名必须是zh-cn)

其他市场:http://ntexe.com/20999.html

目前只针对大陆用户希望大家给与多多支持。

11112222333344445555

 

posted @   巫鸦  阅读(1809)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示