首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。

但是它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList<T>可以胜任。

不过,更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList<T>就爱莫能助了。

1、当你只想使用接口的方法时,ILis<>这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间.

2、IList <>是个接口,定义了一些操作方法这些方法要你自己去实现

List <>是泛型类,它已经实现了IList <>定义的那些方法

IList <Class1> IList11 =new List <Class1>();

List <Class1> List11 =new List <Class1>();

这两行代码,从操作上来看,实际上都是创建了一个List<Class1>对象的实例,也就是说,他们的操作没有区别。

只是用于保存这个操作的返回值变量类型不一样而已。

那么,我们可以这么理解,这两行代码的目的不一样。

List <Class1> List11 =new List <Class1>();

是想创建一个List<Class1>,而且需要使用到List<T>的功能,进行相关操作。

而

IList <Class1> IList11 =new List <Class1>();

只是想创建一个基于接口IList<Class1>的对象的实例,只是这个接口是由List<T>实现的。所以它只是希望使用到IList<T>接口规定的功能而已
PS:转载于百度知道 仅供本人学习使用

最新文章

  1. iOS开发小技巧--修改按钮内部图片和文字之间的间距(xib)
  2. 关于padding与margin的区别
  3. UIBezierPath 的使用
  4. Android之 -WebView实现离线缓存阅读
  5. android蓝牙技术
  6. NOIP2016 D1T1 玩具迷題(toy)
  7. 亲测 logminer挖掘
  8. RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only
  9. MessageBox.Show()如何换行
  10. CMS漏洞
  11. eclipse 常用快捷键整理
  12. String的hashCode原理
  13. idea git 注意事项
  14. Android 更换系统字体......
  15. Linux命令之文件处理
  16. CodeForces346 C. Number Transformation II
  17. Oracle时间函数
  18. ArrayList Vector
  19. [Linux]CentOS与终端破墙
  20. Python:每日一题008

热门文章

  1. YTU 2979: MathBook类--多态
  2. 【IOI 1996】 Network of Schools
  3. Ubuntu下搭建基于apache2的gerrit+gitweb服务器
  4. 基于COCHONUT做和弦识别
  5. CGAN 论文笔记
  6. 摘抄 - linux 目录结构简介
  7. bzoj 2245 [SDOI2011]工作安排【最小费用最大流】
  8. Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
  9. That Nice Euler Circuit UVALive - 3263 || 欧拉公式
  10. Java中的流(3)字符流-Reader和Writer