I am currently looking to make my own collection, which would be just like a regular list, except that it would only hold 10 items. If an item was added when there were alre
Have a read of the Liskov Substitution Principle, your collection is a very poor candidate to extend List, it is not even a great candidate to implement IList.
What read patterns are required on this data? If you only need to look at all the current entries then implementing IEnumerable and the Add(T) method should be sufficient to start with.
This can then be implemented by a private Queue (or Deque would be better but such a collection would require some other collections API and I do not suggest you try to implement one yourself) to which you Enqueue() during an Add (with Dequeue's if needed to maintain the size).
Note that implementing IEnumerable and providing the Add method means you can still use the Collection initialiser syntax if required.
If you need random access to the values then implementing an indexer may be a good idea but I don't see what benefit this would give you without more context on the question.