5.3 接口和集合(Windows Forms 编程实战 学习笔记)


ArrayList类包含了一个对象数据,并支持ICollection接口

表5-3与数据集合有关的接口

接口 描述 成员
IEnumerator 在集合中对元素进行步进式迭代的接口

Current属性,获取集合的当前元素

MoveNext方法:前进到集合中的下一个元素
Reset方法:把枚举器设置到第一个元素之前的位置

IEnumerable

支持创建一个枚举器类,对一个集合中的元素进行迭代

用途:支持这个接口的类或结构可以在实例上使用c#的foreach语句

GetEnumerator方法,返回一个支持IEnumberator接口的类
ICollection   一种提供了长度属性和同步功能的IEnumerable接口,是.net中所有集合的基础

Count属性,获取集合中的元素数量

SyncRoot方法,获取一个对象,对集合进行同步多线程访问
CopyTo方法,把集合中的元素复制到一个Array对象中

IList

一种对元素提供了索引功能的ICollection接口。

用途:支持这个接口的类或结构可以作为数组看待。这就允许把实现这个接口的对象作为数据绑定控件的目标。

 Item属性,以[brackets]的形式支持数组风格的元素索引。

Add方法,向集合添加一个新元素。
Contains方法,判断集合中是否包含了一个特定的对象
Remove方法,根据一个特定的索引值,在集合中删除一个元素
   


理解集合类

实现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,
ICollection,IEnumerable

 

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



posted on 2007-12-26 11:13  蓝蓝的天2016  阅读(248)  评论(0)    收藏  举报