时间:2021-05-20
首先我看看 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>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
所属命名空间:System.Collections.GenericpublicclassList:IList,ICollection,IEnumerable,I
一、List简介所属命名空间:System.Collections.GenericpublicclassList:IList,ICollection,IEnum
1、C#迭代器1.1、IEnumerable和IEnumeratorC#中的迭代器封装在IEnumerable和IEnumerator和他们的泛型接口中。IEn
本文实例讲述了C#实现DataTable,List和Json转换的方法。分享给大家供大家参考,具体如下:1.将DataTable或Ilist转换成JSON格式u
本文实例讲述了C#中List和数组之间转换的方法。分享给大家供大家参考。具体分析如下:一、List转数组(从List转到string[])ListlistS=n