C#接口与泛型

IList<qc_fymczdInfo>A=newList<qc_fymczdInfo>();List<qc_fymczdInfo>B=newList<qc_fymczd... IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();
List<qc_fymczdInfo> B = new List<qc_fymczdInfo>();
ObservableCollection<qc_fymczdInfo> C = new ObservableCollection<qc_fymczdInfo>();

A.Add((qc_fymczdInfo)((Image)sender).Tag);//这里A可以为B或者C
【qc_fymczdInfo为实体】

*通俗易懂*地说出它们的区别,和什么时候用哪个最好???
展开
 我来答
wapdos123
2010-01-21 · TA获得超过159个赞
知道答主
回答量:106
采纳率:0%
帮助的人:78.1万
展开全部
第一种
IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();
只是想创建一个基于接口IList 的对象的实例,只是这个接口是由List类实现的。所以它只是希望使用到IList 接口规定的功能而已
第二种
List<qc_fymczdInfo> B = new List<qc_fymczdInfo>();
是想创建一个List对象实例 ,而且需要使用到List类的全部功能,进行相关操作。
什么时候用:
看情况使用,如果只是简单的数据绑定和显示第一种足够,如果要进行排序等复杂的功能,就得用第二种.
效率当然是第一种高了,但功能少,第二种效率差那么一点,但功能多。

楼主去把接口的定义,和如何实现接口相关资料去看看,就自然明白了
colin3dmax
2010-01-21 · 超过23用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:83.9万
展开全部
IList是一个接口,A是用List这个子类实例化为一个父类。
B就是普通的实例化为一个List的实例出来。
ObservableCOllection接触的不是很多。
使用上的话List用在顺序存储,不需要频繁的增删集合成员的性能更好。

WarthOfHeaven补充的没错,ObservableCollection多了一个通知特性,具体使用哪个,看你的项目需求了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友291b54192
2010-01-21 · TA获得超过235个赞
知道答主
回答量:153
采纳率:0%
帮助的人:124万
展开全部
list<T>与ObservableCollection<T>的用法基本上是一样的。

区别:

list<T>:

当T继承于INotifyPropertyChanged时,如果list<T>中的属性发生改变,则通知UI属性值已发生改变。但当list<T>添加一项时,list<T>就无法通知前端UI了(此时,ObservableCollection<T>闪亮登场)。

ObservableCollection<T>:

当ObservableCollection<T>添加一行时,会自动通知绑定该ObservableCollection<T>的控件并做相应修改。如果希望当ObservableCollection<T>中的属性发生改变时通知UI,则T也需要继承于INotifyPropertyChanged。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangbo99_net
2010-01-21 · TA获得超过1465个赞
知道大有可为答主
回答量:922
采纳率:0%
帮助的人:1234万
展开全部
IList是爸爸,List是儿子.

IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();
相当于,爸爸指向儿子.

List<qc_fymczdInfo> B = new List<qc_fymczdInfo>();
相当于儿子指向儿子(儿子就是儿子);

IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();
这种方法更能用一些.因为同样的爸爸,可以指向其他类型的儿子.B的使用就限定了儿子类型不能变更.

ps:
ObservableCollection是silverlight中的,与本题目的理解无关.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老级幸1286
2010-01-21 · TA获得超过511个赞
知道小有建树答主
回答量:756
采纳率:0%
帮助的人:387万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式