IEnumerable,ICollection,IList,List之间的区别
来源:互联网 发布:淘宝手表正品店 编辑:程序博客网 时间:2024/06/06 03:09
转载地址:http://www.cnblogs.com/flyfish2012/archive/2013/01/22/2871273.html
做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口。这句话就告诉我们:IEnumerable,ICollection,IList,List区别了
首先我看看 IEnumerable:
// 摘要: // 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。 // // 类型参数: // T: // 要枚举的对象的类型。 [TypeDependency("System.SZArrayHelper")] public interface IEnumerable<out T> : IEnumerable { // 摘要: // 返回一个循环访问集合的枚举器。 // // 返回结果: // 可用于循环访问集合的 System.Collections.Generic.IEnumerator<T>。 IEnumerator<T> GetEnumerator(); }
IEnumerable<T> 实现IEnumerable接口方法,那IEnumberable做什么的,其实就提高可以循环访问的集合。说白了就是一个迭代。
再来看看ICollection:
// 摘要: // 定义操作泛型集合的方法。 // // 类型参数: // T: // 集合中元素的类型。 [TypeDependency("System.SZArrayHelper")] public interface ICollection<T> : IEnumerable<T>, IEnumerable
原来ICollection<T> 同时继承IEnumerable<T>和IEnumerable两个接口,按我的理解就是,ICollection继续它们2个接口而且扩展了方法,功能强多了。
由原来的步枪变成半自动步枪
我们继续看IList:
public
interface
IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
靠 IList 继承它们三个接口,怪不得功能这么多啊,那应该属于全自动步枪了
最后来看看List:
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
这个时候大家仔细看看,它们都是接口,只有List 是类,不仅实现它们的接口,而且还扩展了太多的方法给我利用。哇靠,几乎所有功能都能实现了,简直是激光步枪
按照功能排序:List<T> 《IList<T> 《ICollection<T>《IEnumerable<T>
按照性能排序:IEnumerable<T>《ICollection<T>《IList<T>《List<T>
那同学们,是不是可以根据自身的需求调用不能数组来实现功能,不要一味使用List,好了,送给一些不知道的同学们,大牛们,路过麻烦补充下,谢谢!
1 0
- IEnumerable,ICollection,IList,List之间的区别
- IEnumerable,ICollection,IList,List之间的区别
- IEnumerable,ICollection,IList,List之间的区别
- C#中IEnumerable、ICollection、IList、List之间的区别
- IEnumerable/ICollection/IList/List继承关系
- (原创)(C#随笔)IEnumerable< ICollection < IList区别
- IEnumerable,ICollection ,IList ,ArrayList
- IList,ICollection,IEnumerable辨析
- IList,ICollection,IEnumerable,IListIList,ICollection,IEnumerable辨析
- IList,ICollection,IEnumerable,IListIList,ICollection,IEnumerable辨析
- IList、ICollection、IEnumerable 之辨析
- IList,ICollection,IEnumerable,IEnumerator,IQueryable
- IEnumerable、ICollection和IList接口
- IList,ICollection,IEnumerable,IEnumerator,IQueryable
- 阐述集合类的接口(IEnumerable,IEnumerator,ICollection,IList,IDictionary)
- public abstract class CollectionBase:IList,ICollection,IEnumerable
- C#中的 IList, ICollection ,IEnumerable 和 IEnumerator
- IList,ICollection,IEnumerable,IEnumerator,IQueryable详解
- linux 权限rwxrwxrwx(4 2 1)详细说明
- 人脸识别必看的文章
- 2.1.3 Search in Rotated Sorted Array
- 用prctl给线程命名
- 每个Android开发者都应该了解的资源列表
- IEnumerable,ICollection,IList,List之间的区别
- react-native laoding native image for android 加载静态图片
- 如何编译包含cocoapods的项目
- Opengl的坐标系统
- 设计模式之桥接模式
- 深入分析JavaWeb Item13 -- jsp指令详解
- Intent android基础二
- 从问题域出发认识Hadoop生态系统
- 用shell批量修改文件名