1、IComparable和IComparer接口 用于比较和排序
IComparable 可比较的,实现该接口的类,便具有“可比较的”特性。
IComparer 比较器,实现该接口的类,是一个比较器,可以将其嵌入“类”中,使类具有“可比较的”的特性。
C#中的IComparable和IComparer接口

2、IEnumerable与IEnumerator接口 用于迭代
IEnumerable 可遍历的,实现该接口的类,便具有“可遍历的”特性。实现接口方法GetEnumerator(),返回IEnumerator对象,可用于循环访问集合元素。
IEnumerator接口,是真正的集合访问器,IEnumerator接口定义了一个Current属性,两个方法MoveNext()和Reset()。Current属性获取当前集合中的项;MoveNext方法移到下一项。
foreach语句揭秘

3、IConvertible接口 类型转换
IConvertible接口定义的方法主要是为了将值或者引用类型的值转换成公共语言运行库类型。实现该类型时,应该实现该接口定义的所有方法,当类或者值类型的值无法转换成某种公共语言运行库类型时,应该引发 InvalidCastException异常。
IConvertible接口用法揭秘

4、ICustomFormatter及IFormatProvider接口 格式化
ICustomFormatter接口,定义一种方法,支持自定义设置对象的值的格式。值或者引用类型实现该接口时,需要实现唯一方法Format(),Format 方法会返回对象值的自定义格式字符串表示形式。
IFormatProvider接口,格式提供者,用于返回控制格式化的对象。 类或数值类型实现此接口的 GetFormat方法,获得提供格式信息的对象。
ICustomFormatter及IFormatProvider接口用法揭秘

5、IFormattable接口
IFormattable接口,可格式化的,提供的ToString()方法,可以将对象的值按照指定的格式转化成字符串的功能。第一个参数告诉方法需要何种格式的输出,而第二个IFormatProvider的参数则允许类型的使用者自定义格式化方法。
string ToString( string format, IFormatProvider formatProvider )
使用IFormattable实现自定义格式字符串输出

6、ICollection接口
ICollection接口定义所有集合的大小、枚举数和同步方法。ICollection接口是System.Collections命名空间中类的基接口。

7、IDictionary接口
IDictionary接口是基于ICollection接口的更专用的接口。IDictionary 实现是键/值对的集合,如Hashtable类。

8、IList接口
IList接口实现是可被排序且可按照索引访问其成员的值的集合,如ArrayList类。