Welcome

首页 / 软件开发 / C# / 构建可反转排序的泛型字典类(4)--IDictionary接口

构建可反转排序的泛型字典类(4)--IDictionary接口2010-11-26C#对集合类型有统一的规范。它的好处不言而喻,所有集合类都有一些统一的调用方法和属性,这使得学习成本大大降低。统一的规范就是通过接口来实现的(关于接口,如果不熟,请参考

http://www.enet.com.cn/eschool/video/c/30.shtml ),另一方面一些类也会直接调用这些标准接口,使得我们写出来的类有更好的兼容性。最典型的例子莫过于IEnumerable接口,只要实现了它就可以使用foreach语句进行调用。

我们将要给ReversibleSortedList实现的是IDictionary接口,先来看看它的定义:

public interface IDictionary : ICollection, IEnumerable

ICollection接口是所有集合类的基接口,FCL中所有集合,不管是哪种方式的集合都实现它。IEnumerable接口则是枚举器接口,实现了它就可以使用foreach语句对它进行访问。IDictionary接口则继承自这两个接口,它表示键/值对的非通用集合。

ICollection接口的定义为:

public interface ICollection : IEnumerable

从这个定义可以看出,所有集合类都应该支持foreach语句进行访问。

表1列出了各个接口的成员

接口成员说明
ICollection

Count属性获取 ICollection 中包含的元素数
IsSynchronized属性获取一个值,该值指示是否同步对 ICollection 的访问(线程安全)
SyncRoot属性获取可用于同步 ICollection 访问的对象
CopyTo方法从特定的 Array 索引处开始,将 ICollection 的元素复制到一个 Array 中
IEnumerableGetEnumerator方法返回一个循环访问集合的枚举器
IDictionary

IsFixedSize属性获取一个值,该值指示 IDictionary 对象是否具有固定大小
IsReadOnly属性获取一个值,该值指示 IDictionary 对象是否为只读
Item属性获取或设置具有指定键的元素
Keys属性获取 ICollection 对象,它包含 IDictionary 对象的键
Values属性获取 ICollection 对象,它包含 IDictionary 对象中的值
Add方法在 IDictionary 对象中添加一个带有所提供的键和值的元素
Clear方法从 IDictionary 对象中移除所有元素
Contains方法确定 IDictionary 对象是否包含具有指定键的元素
GetEnumerator方法返回一个用于 IDictionary 对象的 IDictionaryEnumerator 对象
Remove方法从 IDictionary 对象中移除带有指定键的元素