首先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>接口规定的功能而已

转载于:https://www.cnblogs.com/jpa2/archive/2011/09/21/2527514.html

C#中IList与List区别相关推荐

  1. list ilist java_C#中IList与List区别

    首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口. 它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,ILis ...

  2. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  3. 关于EF中ApplyCurrentValues和ApplyOriginalValues区别

    关于EF中ApplyCurrentValues和ApplyOriginalValues区别:两者都是编辑数据时使用. //         // 摘要:         //     将 System ...

  4. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  5. JAVA 中equals()与==的区别

    原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...

  6. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  7. java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array

    java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array https://blog.csdn.net/ywjy10280 ...

  8. SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别

    原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...

  9. android r类 作用,Android 主项目和 Module 中 R 类的区别

    Android 主项目和 Module 中 R 类的区别 我们知道 Android 项目中会通过自动生成一个 R.java 类的方式来保存项目中所有资源文件的标识在主项目中生成的 R.java 中的资 ...

最新文章

  1. Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)
  2. java swt.jar_Eclipse中的swt需要的jar包
  3. matlab 时序数据,9 个 MATLAB 数据科学速查表 - MATLAB Simulink
  4. 怎么禁止开机启动nvidia
  5. 带线程池的socket客户端与服务端
  6. spark笔记之RDD常用的算子操作
  7. git21天打卡day11-删除分支
  8. 我国启动新型数据保护密码算法研究
  9. python数据分析 - T检验与F检验:二组数据那个更好?(一)
  10. 安卓逆向——Xposed插件常用HOOK方法
  11. 二十年架构师整理出的Java学习路线,学完年薪百万
  12. Google登录接入
  13. 在matlab中生成m序列
  14. wordpress插件_最好的WordPress购物车插件
  15. centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides */vim 第十节课...
  16. Trx-address和交易的address
  17. 正则表达式对密码限定格式:必须包含英文,数字,字符且密码长度大于8位
  18. Linux系统怎么做安全防护,linux系统安全防护
  19. 时间都去哪儿了——2014年总结
  20. 手把手教你 2020 年退税申报,学生党、工作党都有

热门文章

  1. Matlab scatter 如何显示不同颜色点状
  2. mybatis基础,mybatis配置文件核心组件typeHandler元素
  3. s2 devMode cmdshell
  4. my java note ---- 绑定
  5. 二分图最大匹配(匈牙利算法) POJ 3020 Antenna Placement
  6. 关于图像特征的提取【转】
  7. Android 开发笔记 Google地图定位与路线显示
  8. Do a test write by windows live writer
  9. ASP.Net Cookie(几个不同出处)
  10. R | 对亚马逊新总部可能位置进行可视化