ArrayList类 与 CollectionBase 类 (windows forms 编程实战 学习笔记)
ArrayList 类
表示一个索引对象的集合,对象的数量可以动态的变化
(1)如果从ArrayList继承,则add方法具有如下的签名public int add(object value),实现方便,不够健壮。
(2)以ArrayList作为私有对象,也是类型安全的。
如
1
public class PhotoAlbum:IList,IEnumerable
2
{
3
private ArrayList _photoList;
4
5
public int Add(Photograph photo)
6
{
7
return _photoList.Add(photo);
8
}
9
//region IEnumerable interface implementation
10
..
11
//endregion
12
}
13
public class PhotoAlbum:IList,IEnumerable2
{3
private ArrayList _photoList;4
5
public int Add(Photograph photo)6
{7
return _photoList.Add(photo);8
}9
//region IEnumerable interface implementation10
..11
//endregion12
}13

CollectionBase类
CollectionBase 是个抽象类,用于创建强类型的集合(在泛型之前,是创建强类型集合的最佳方式)
1
uisng System;
2
using System.Collections;
3
4
namespace Manning.MyPhotoAlbum
5
{
6
public class PhotoAlbum:CollectionBase
7
{
8
// 无构造函数
9
//IEnumerable 接口由CollectionBase提供
10
//region ICollection成员
11
public virtual bool IsSynchronized
12
{
13
get
14
{
15
return false;
16
}
17
}
18
public void CopyTo(Photograph[] array,int index
19
{
20
List.CopyTo(array,index);
21
}
22
//endregion ICollection 成员
23
24
IList members
43
}
uisng System;2
using System.Collections;3

4
namespace Manning.MyPhotoAlbum5
{6
public class PhotoAlbum:CollectionBase7
{8
// 无构造函数9
//IEnumerable 接口由CollectionBase提供10
//region ICollection成员11
public virtual bool IsSynchronized12
{13
get14
{15
return false;16
}17
}18
public void CopyTo(Photograph[] array,int index19
{20
List.CopyTo(array,index);21
}22
//endregion ICollection 成员23

24
IList members43
}


浙公网安备 33010602011771号