C#高级编程四十七天----集合接口和类型
2015-07-22 16:51
483 查看
集合接口和类型
前面介绍了数组和Array类实现的接口.数组的大小是固定的.如果元素个数是动态的,就应私用集合类.
List<T>是与数组相当的集合类.还有其他类型的集合:队列,栈,链表和字典.
大多数集合类都可在System.Collections和System.Collections.Generic名称空间中找到.泛型集合类位于System.Collections.Generic名称空间中;专用于特定类型的集合类位于System.Collections.Specialized名称空间中.线程安全的集合类位于System.Collections.Concurrent名称空间中.
集合和列表实现的接口如下:
前面介绍了数组和Array类实现的接口.数组的大小是固定的.如果元素个数是动态的,就应私用集合类.
List<T>是与数组相当的集合类.还有其他类型的集合:队列,栈,链表和字典.
大多数集合类都可在System.Collections和System.Collections.Generic名称空间中找到.泛型集合类位于System.Collections.Generic名称空间中;专用于特定类型的集合类位于System.Collections.Specialized名称空间中.线程安全的集合类位于System.Collections.Concurrent名称空间中.
集合和列表实现的接口如下:
接口 | 说明 |
IEnumerable<T> | 如果foreach语句用于集合,就需要IEnumerable接口.这个借口定义了方法GetEnumerator(),他返回一个实现了IEnumerator接口的枚举 |
ICollection<T> | ICollection<T>接口有泛型集合类实现.使用这个借口可以获得集合中的元素个数(Count属性),把集合复制到数组中(CopyTo()方法),还可以从集合中添加和删除元素(Add(),Remove(),Clear()) |
List<T> | IList<T>接口用于可通过位置访问其中的元素列表,这个接口定义了一个 索引器,可以在集合的指定位置插入或删除 mount些项(Insert()和Remove()方法).IList<T>接口派生自ICollection<T>接口 |
ISet<T> | ISet<T>接口是.NET4中新增的.实现这个接口的集允许合并不同的集.获得两个集的交集,检查两个集合是否重叠.ISet<T>接口派生自ICollection<T>接口 |
IDictionary<TKey,TValue> | IDictionary<TKey,TValue>接口由包含键和值的泛型集合类 实现.使用这个接口可以访问所有的键和值,使用键类型的索引器可以访问某些项,还可以添加或删除某些项 |
ILookup<TKey,TValue> | ILookup<TKey,TValue>接口类似于IDictionary<TKey,TValue>接口,实现该接口的集合有键和值,且可以通过一个键包含多个值 |
IComparer<T> | 接口ICommparer<T>由比较器实现,通过Comparer()方法给集合中的元素排序 |
IEqualityComparer<T> | 接口IEqualityComparer<T>由一个比较器实现,该比较器可用于字典中的键.使用这个接口,可以对对象进行相等性比较.在.NET中,这个接口也由数组和元组实现 |
IProducerConsumerColllection<T> | IProducerConsumerCollection<T>接口是.NET4中新增的,它支持新的线程安全的集合类 |
相关文章推荐
- C#基础回顾:正则表达式
- Winform 获取相对路径 C#
- c#抽象工厂类
- C#设计模式纵横谈 笔记+原教程(很好很详细)
- C# 属性和字段 get set
- 大白话系列之C#委托与事件讲解(一)
- C# 创建EXCEL文件
- .Net学习笔记----2015-07-22(C#基础复习10,面向对象2个小练习)
- 编写高质量代码改善C#程序的157个建议——导航开篇
- C# 异常类 Exception 枚举所有类型的异常
- C#委托和事件的实例讲解
- C#+Socket客户端断线重连的解决办法
- C#操作IIS
- C#中Array类的使用
- C#中Array类的使用
- C#在窗体中点击任意位置鼠标左键获得该点坐标
- 比较核心的技术了 虚拟ip的一种实现方式(手工添加和C#添加)
- C# 字符串格式
- hihoCoder 字符消除
- c#中实现按钮弹出另一个windows窗口