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.
1
2
3
| 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