2018-11-10 (土)
[C#] Collection<T>の使用用途とListとの違い
Collection<T>
は独自コレクションを実装する時に継承して使用します。Collection<T>
は内部でList<T>
を保持していますが、拡張できるように仮想メソッドが定義されています。
環境
- Windows 10 Pro 64bit 1803
- Visual Studio Community 2017 15.8.2
- .NET Framework 4.6.1
- C# 7.0
結果
Collection<T>
は以下のような実装になっています。
仮想メソッドをオーバーライドすることで、独自チェックや通知イベントを簡単に実装できます。
private IList<T> items;
public Collection()
{
this.items = (IList<T>) new List<T>();
}
protected virtual void ClearItems()
{
this.items.Clear();
}
protected virtual void InsertItem(int index, T item)
{
this.items.Insert(index, item);
}
protected virtual void RemoveItem(int index)
{
this.items.RemoveAt(index);
}
protected virtual void SetItem(int index, T item)
{
this.items[index] = item;
}
感謝
関連記事
新着記事