How would you implement a custom collection in C#?
Short answer: To implement a custom collection: Derive from existing base classes like Collection<T>, List<T>, or implement interfaces such as ICollection<T>, IEnumerable<T>, or IList<T>.
Explain a bit more
Override or implement necessary methods like Add(), Remove(), GetEnumerator(), and indexers. Provide custom behavior, validation, or constraints as needed. Example: public class MyCustomCollection<T> : Collection<T> { protected override void InsertItem(int index, T item) { // Custom validation if (item == null) throw new ArgumentNullException(nameof(item)); base.InsertItem(index, item); }
Real-world example (ShopNest)
In ShopNest checkout, choose the collection by need: List for ordered cart lines, Dictionary for fast SKU lookup, HashSet for unique tags.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png