我需要設計我自己定製的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的公共接口 –