4.6C#语言的集合(Collection)

集合与数组比较类似,都用于存放一组值,但集合中提供了特定的方法能直接操作集合中的数据,并提供了不同的集合类来实现特定的功能。

集合简单的说就是数组的升级版。他可以动态的对集合的长度(也就是集合内最大元素的个数)进行定义和维护!

所有集合类或与集合相关的接口命名空间都是 System.Collection,在该命名空间中提供的常用接口如下表所示。

接口名称作用
IEnumerable用于迭代集合中的项,该接口是一种声明式的接口
IEnumerator用于迭代集合中的项,该接口是一种实现式的接口
ICollection.NET 提供的标准集合接口,所有的集合类都会直接或间接地实现这个接口
IList继承自 IEnumerable 和 ICollection 接口,用于提供集合的项列表,并允许访问、查找集合中的项
IDictionary继承自 IEnumerable 和 ICollection 接口,与 IList 接口提供的功能类似,但集 合中的项是以键值对的形式存取的
IDictionaryEnumerator用于迭代 IDictionary 接口类型的集合

针对上表中的接口有一些常用的接口实现类,如下表所示。

类名称实现接口特点
ArrayListICollection、IList、IEnumerable、ICloneable集合中元素的个数是可变的,提供添加、删除等方法
QueueICollection、IEnumerable、ICloneable集合实现了先进先出的机制,即元素将在集合的尾部添加、在集合的头部移除
StackICollection、IEnumerable、ICloneable集合实现了先进后出的机制,即元素将在集合的尾部添加、在集合的尾部移除
HashtableIDictionary、ICollection、IEnumerable、 ICloneable 等接口集合中的元素是以键值对的形式存放的,是 DictionaryEntry 类型的
SortedListIDictionary、ICollection、IEnumerable、  ICloneable 等接口与 Hashtable 集合类似,集合中的元素以键值对的形式存放,不同的是该集合会按照 key 值自动对集合中的元素排序

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/csharp/4040.html

发表评论

登录后才能评论