Value types stand as a contrast to reference types. There are dramatic difference between the use of value types and reference types in C#.
A variable of value type contains its value
The values are allocated on the method stack or within objects on the heap
Variables of value types are dealt with by use of so-called value semantics
Use of value types simplifies the management of short-lived data