Basically, you can call any of the base constructors from your subclass constructors.

The : base(i) syntax allows you to specify which constructor to call, passing the appropriate parameter down to the base. This syntax is just as if you were creating a new instance of the base class.

If you don't do this, then the base constructor, base(), will always be called.

Does that help?