Hi,
I'm having a difficult time understanding how collections really work. Everything is totally obscured for me because of all the interfaces etc. being used etc.
Right now my main concern are the abstract base classes CollectionBase and DictionaryBase you can inherit from.
For example a simple class like this:

Code:
    public class Animals : CollectionsBase
    {
        public void Add(Animal newAnimal)
        {
            List.Add(newAnimal);
        }

        public void Remove(Animal newAnimal)
        {
            List.Remove(newAnimal);
        }

        public Animals()
        {
        }
    }
What is this "List"? I've looked through some stuff on MSDN and it seems like an automatic property to me but I really don't know. It must have a return type to some type of Class or something if you can use methods like List.Add() etc. Can anyone explain to me how this works, what interfaces and classes come into play here, or just give me a good tutorial on the entire thing?

Cheers,
Chris