#37 – All Value Types Have a Default Constructor
July 24, 2010 Leave a comment
All built-in value types in C# support a default (parameterless) constructor using the new keyword. The default constructor allows you to instantiate an object such that it takes on a default value.
You’d normally instantiate one of the built-in types by giving the associated variable a value. But it’s also possible to use the new keyword to cause the variable to take on a default value.
int i; // Not instantiated yet int n1 = 12; // Instanatiated, w/value of 12 int n2 = new int(); // Instantiated, w/default value
The default values for the built-in value types are:
- bool type = false
- Numeric types (e.g. int, float) = 0 or 0.0
- char type = single empty character
- DateTime type = 1/1/0001 12:00:00 AM