什么是关于泛型及其接口的最佳资源?

时间:2008-10-14 18:53:09

标签: c# generics collections

我找到了很多关于IEnumeratorIEnumerableICollectionIList及其通用副本的文档和建议。遗憾的是,我还没有找到解释整个接口层次结构的教程或书籍,这些接口的通用实现是每种类型的最佳用法。

关于泛型,它们的界面以及C#中推荐用法的例子,你最了解的是什么?

2 个答案:

答案 0 :(得分:3)

我了解它们的主要方式就是查看它们的界面。

继承是这样的:

IList:ICollection:IEnumerable

当你查找IEnumerable的界面时,请注意它只有最低限度才能循环遍历一堆项目。它没有计数或其他任何东西。 IEnumerable工作得很好,即使你正在看的只是一条通过电线的流。

ICollection添加了Count。如果你正在实现某种类型的集合,并且如果很容易知道它的大小,那么你应该实现它。在这种情况下,通用接口有点不同。的ICollection< T>还有通过添加和删除成员来修改集合的方法。无序集合将是ICollection的良好候选者。

IList添加了通过索引获取和设置集合成员的功能。当项目的顺序很重要时使用此选项。当您有索引时,您可以执行交换第4和第5项以更改其顺序的操作。

答案 1 :(得分:0)

你错过了一个:)

IDictionary :IList:ICollection:IEnumerable