通常,您必須實現集合,因爲它不存在於.NET Framework的集合中。在我在網上找到的例子中,新集合通常是基於另一個集合(例如,List<T>
)構建的:通過這種方式,可以避免管理集合的大小調整。使用另一個集合實現集合
public class CustomCollection<T>
{
private List<T> _baseArray;
...
public CustomCollection(...)
{
this._baseArray = new List<T>(...);
}
}
- 什麼是以下這種方法的缺點?由於對基礎集合的方法調用只會降低性能?或者編譯器執行一些優化?
- 此外,在某些情況下,與基本集合有關的字段(例如上面的
_baseArray
)被聲明爲readonly
。爲什麼?
我不明白這一點:「通過這種方式,可以避免在整個問題的背景下調整集合大小的管理」。 – Joe 2012-02-13 01:31:28
@Joe:我認爲他指的是使用列表而不是普通數組。 – 2012-02-13 01:33:31
@Joe:爲了調整一個普通數組的大小,我必須創建另一個新大小的數組,然後將這些元素複製到新數組中,然後銷燬舊數組......如果我使用List,這些操作是透明的。 – enzom83 2012-02-13 01:35:29