说说C#中list与IList中的区别(转载)
2024-10-13 07:14:34
首先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:转载于百度知道 仅供本人学习使用
最新文章
- iOS开发小技巧--修改按钮内部图片和文字之间的间距(xib)
- 关于padding与margin的区别
- UIBezierPath 的使用
- Android之 -WebView实现离线缓存阅读
- android蓝牙技术
- NOIP2016 D1T1 玩具迷題(toy)
- 亲测 logminer挖掘
- RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only
- MessageBox.Show()如何换行
- CMS漏洞
- eclipse 常用快捷键整理
- String的hashCode原理
- idea git 注意事项
- Android 更换系统字体......
- Linux命令之文件处理
- CodeForces346 C. Number Transformation II
- Oracle时间函数
- ArrayList Vector
- [Linux]CentOS与终端破墙
- Python:每日一题008
热门文章
- YTU 2979: MathBook类--多态
- 【IOI 1996】 Network of Schools
- Ubuntu下搭建基于apache2的gerrit+gitweb服务器
- 基于COCHONUT做和弦识别
- CGAN 论文笔记
- 摘抄 - linux 目录结构简介
- bzoj 2245 [SDOI2011]工作安排【最小费用最大流】
- Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
- That Nice Euler Circuit UVALive - 3263 || 欧拉公式
- Java中的流(3)字符流-Reader和Writer