我需要设计我自己定制的GenericCollection
类。现在我有很多选项可以使用IEnumerable
,ICollection
和IList
来推导它,后面提供了一些附加功能。使用IEnumerable与ICollection与IList的自定义集合
我有点困惑,如果我去IEnumerable<T>
我可能需要声明的对象实际上举行集合,在这种情况下_list
_list
。
public class GenericCollection<T> : IEnumerable<T>
{
private List<T> _list;
//...
}
但是,如果我用ICollection<T>
或IList<T>
去,我不需要申报List
对象,因为它是隐含可用。
public class GenericCollection<T> : IList<T>
{
// no need for List object
//private List<T> _list;
//...
}
是什么相对于这两种方法来性能之间的区别?
在哪种情况下,每个人都倾向于设计自己的收藏集。我对轻量级系列产品感兴趣,性能良好。我认为这可以通过使用IEnumerable<T>
来实现,但是究竟有多强烈的理由会如何呢?
我回顾了一些现有的帖子,但没有提供所需的信息。
Returning 'IList' vs 'ICollection' vs 'Collection'
在第一个示例中,您不需要有_list成员。此外,你还需要实现一些存储机制,以便继承IList并实现IList的公共接口 –