หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
The following table shows the default values of C# types:
| Type | Default value |
|---|---|
| Any reference type | null |
| Any built-in integral numeric type | 0 (zero) |
| Any built-in floating-point numeric type | 0 (zero) |
| bool | false |
| char | '\0' (U+0000) |
| enum | The value produced by the expression (E)0, where E is the enum identifier. |
| struct | The value produced by setting all value-type fields to their default values and all reference-type fields to null. |
| Any nullable value type | An instance for which the HasValue property is false and the Value property is undefined. That default value is also known as the null value of a nullable value type. |
Default value expressions
Use the default operator to produce the default value of a type, as the following example shows:
int a = default(int);
You can use the default literal to initialize a variable with the default value of its type:
int a = default;
Parameterless constructor of a value type
For a value type, the implicit parameterless constructor also produces the default value of the type, as the following example shows:
var n = new System.Numerics.Complex();
Console.WriteLine(n); // output: (0, 0)
At run time, if the System.Type instance represents a value type, you can use the Activator.CreateInstance(Type) method to invoke the parameterless constructor to obtain the default value of the type.
Note
A structure type (which is a value type) can have an explicit parameterless constructor that might produce a non-default value of the type. Thus, we recommend using the default operator or the default literal to produce the default value of a type.
C# language specification
For more information, see the following sections of the C# language specification: