ECMA-334 C# Language Specification11.1: Value types |
A value type is either a struct type or an enumeration type. C# provides a set of predefined struct types called the simple types. The simple types are identified through reserved words.
struct-type enum-type type-name simple-type numeric-type integral-type floating-point-type type-nameAll value types implicitly inherit from class object. It is not possible for any type to derive from a value type, and value types are thus implicitly sealed (17.1.1.2).
A variable of a value type always contains a value of that type. Unlike reference types, it is not possible for a value of a value type to be null, or to reference an object of a more derived type.
Assignment to a variable of a value type creates a copy of the value being assigned. This differs from assignment to a variable of a reference type, which copies the reference but not the object identified by the reference.
In This Section: