5.3 接口和集合(Windows Forms 编程实战 学习笔记)
ArrayList类包含了一个对象数据,并支持ICollection接口
表5-3与数据集合有关的接口
| 接口 | 描述 | 成员 |
| IEnumerator | 在集合中对元素进行步进式迭代的接口 |
Current属性,获取集合的当前元素 MoveNext方法:前进到集合中的下一个元素 |
| IEnumerable |
支持创建一个枚举器类,对一个集合中的元素进行迭代 用途:支持这个接口的类或结构可以在实例上使用c#的foreach语句 |
GetEnumerator方法,返回一个支持IEnumberator接口的类 |
| ICollection | 一种提供了长度属性和同步功能的IEnumerable接口,是.net中所有集合的基础 |
Count属性,获取集合中的元素数量 SyncRoot方法,获取一个对象,对集合进行同步多线程访问 |
| IList |
一种对元素提供了索引功能的ICollection接口。 用途:支持这个接口的类或结构可以作为数组看待。这就允许把实现这个接口的对象作为数据绑定控件的目标。 |
Item属性,以[brackets]的形式支持数组风格的元素索引。 Add方法,向集合添加一个新元素。 |
理解集合类
实现Ilist接口的类
(1)DataView 不适合,因为不使用数据库
(2)StringCollecton,用于处理文件名集合
(3)简单数组 ,不能固定增长
(4)ArrayList类,
(5)CollectionBase类,
在我们的程序中,可以使用ArrayList,有缺点:
可以接受所有object对象,而不仅仅是Photograph对象,以致于使程序不够安全
表5-4 一些.net集合类
| 类 | 描述 | 所支持的接口 |
| Array | 固定长度的数据,是.net中所有简单数组的基类 |
ICloneable,IList, ICollection,IEnumerable |
| ArrayList | 一种动态长度的数组 |
ICloneable,IList,
|
| CollectionBase | 一个用于创建强类型集合的抽象类 |
IList,ICollection, IEnumerable |
| DataView | 一种自定义的数据库表的视图 |
IList,ICollection, IEnumerable及其他 |
| Hashtable | 一种存储基于散列码的对象集合 |
ICloneable,ICollection, IEnumerable,IDictionary及其他 |
| Queue | 先进先出的对象集合 |
ICloneable,ICollection, IEnumerable |
| SortedList | 一种键和值的有序集合,可以通过键和索引来访问 |
ICloneable,ICollection, IEnumerable,IDictionary |
| StringCollection | 字符串对象集合 |
IList,ICollection, IEnumerable |
| Stack | 后进先出的对象集合 |
ICloneable,ICollection, IEnumerable |
浙公网安备 33010602011771号