See the question and my original answer on StackOverflow

If you refer to C# 4 specification:

10.11.4 Default constructors If a class contains no instance constructor declarations, a default instance constructor is automatically provided. That default constructor simply invokes the parameterless constructor of the direct base class.

and, for value types:

4.1.2 Default constructors All value types implicitly declare a public parameterless instance constructor called the default constructor. The default constructor returns a zero-initialized instance known as the default value for the value type