C#(99):集合概述

一、概述

1、集合命令空间:

  • System.Collections.Specialized:专用于特性类型的集合类
  • System.Collections.Concurrent:线程安全的集合类
  • System.Collections.Immutable:不可变的集合类

2、集合接口

泛型集合层次关系图

image

  •   IEnumerable:如果将foreach语句用于集合,就需要IEnumerable接口。这个接口定义了方法GetEnumerable(),它返回一个实现了IEnumerable接口的枚举。
  •   ICollection:ICollection接口由泛型集合类实现。使用这个接口可以获得集合中的元素个数(Count属性),把集合复制到数组中(CopyTo()方法),还可以从集合中添加和删除元素(Add()、Remove()、Clear())
  •   IList:IList接口用于可通过位置访问其中的元素列表,这个接口定义了一个索引器,可以在集合的指定位置插入或删除某些项(Insert()和RemoveAt()方法)。IList集合派生自ICollection接口。
  •   ISet:ISet接口由集实现。ISet<T>是.NET 4新引入的接口,表示唯一值集。它反过来应用到了.NET 3.5中的HashSet<T>上,以及.NET 4引入的一个新的实现——SortedSet<T>。集允许合并不同的集,获得两个的交集,检查两个集是否重叠。ISet接口派生自ICollection接口。
  •   IDictionary:IDictionary接口包含键和值的泛型集合类实现。使用这个接口可以访问所有的键和值,使用键类型的索引器可以访问某些项,还可以添加和删除某些项。
  •   ILookup:Net3.5的新接口,ILookup接口类似于IDictionary接口,实现该接口的集合有键和值。且可以一个键包含多个值。
  •   IComparer:IComparer接口由比较器实现。通过Compare()方法给集合中的元素排序。
  •   IEqualityComparer:  IEqualityComparer接口由一个比较器实现,该比较器可用于字典中的键。使用这个接口,可以对对象进行相等性比较。

3、集合类

各集合类底层接口关系图

image

猜你喜欢

转载自www.cnblogs.com/springsnow/p/12976169.html
今日推荐