The variables that are based on value types directly contain values. The characteristics of value-type variables that are supported in C# programming language are as follows:
All value-type variables derive implicitly from the System.ValueType class
You cannot derive any new type from a value type
Value types have an implicit default constructor that initializes the default value of that type
The value type consists of two main categories:
Structs - Summarizes small groups of related variables.
Enumerations - Consists of a set of named constants.