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-name
All 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: