.NET Framework提供了众多常用的数据结构对象,放在System.Collections命名空间中。现有Arraylist、Queue、Stack、SortList、HashTable等
1)IEnumerable:IEnumerable是公开枚举数,该枚举数支持在集合上进行简单迭代。必须对它进行实现才能支持 Microsoft Visual Basic 的 ForEach 语义。
2) ICollection:派生自IEnumerable接口,定义所有集合的大小、枚举数和同步方法。ICollection 接口是 System.Collections 命名空间中类的基接口。
3) IList:Ilist派生自ICollection。IDictionary 和 IList 是基于 ICollection 接口的更专用的接口。IDictionary 实现是键/值对的集合,如 Hashtable 类。IList 实现是可被排序且可按照索引访问其成员的值的集合,如 ArrayList 类。
另:某些集合(如 Queue 类和 Stack 类)限制对其成员的访问,它们直接实现 ICollection 接口。或者当 IDictionary 接口和 IList 接口都不能满足所需集合的要求时,则从 ICollection 接口派生新集合类以提高灵活性。
以上三个接口的继承关系为:IEnumerable-> ICollection-> IList。也就是说ArrayList其实是通过对IList的实现,同时实现了ICollection和IEnumerable。因此我们只需要实现IList接口即可。
4)ICloneable:这个接口的作用就是实现克隆,即用与现有实例相同的值创建类的新实例。为纯粹我们的目标,这个接口不在本文中进行实现。留待后续文章中进行分析
接口:
#region IList 成员
public bool IsReadOnly
{
get
{
// TODO: 添加 simplepager.IsReadOnly getter 实现
return false;
}
}
public object this[int index]
{
get
{
// TODO: 添加 simplepager.this getter 实现
return null;
}
set
{
// TODO: 添加 simplepager.this setter 实现
}
}
public void RemoveAt(int index)
{
// TODO: 添加 simplepager.RemoveAt 实现
}
public void Insert(int index, object value)
{
// TODO: 添加 simplepager.Insert 实现
}
public void Remove(object value)
{
// TODO: 添加 simplepager.Remove 实现
}
public bool Contains(object value)
{
// TODO: 添加 simplepager.Contains 实现
return false;
}
public void Clear()
{
// TODO: 添加 simplepager.Clear 实现
}
public int IndexOf(object value)
{
// TODO: 添加 simplepager.IndexOf 实现
return 0;
}
public int Add(object value)
{
// TODO: 添加 simplepager.Add 实现
return 0;
}
public bool IsFixedSize
{
get
{
// TODO: 添加 simplepager.IsFixedSize getter 实现
return false;
}
}
#endregion
#region ICollection 成员
public bool IsSynchronized
{
get
{
// TODO: 添加 simplepager.IsSynchronized getter 实现
return false;
}
}
public int Count
{
get
{
// TODO: 添加 simplepager.Count getter 实现
return 0;
}
}
public void CopyTo(Array array, int index)
{
// TODO: 添加 simplepager.CopyTo 实现
}
public object SyncRoot
{
get
{
// TODO: 添加 simplepager.SyncRoot getter 实现
return null;
}
}
#endregion
#region IEnumerable 成员
public IEnumerator GetEnumerator()
{
// TODO: 添加 simplepager.GetEnumerator 实现
return null;
}
#endregion