The value of value types are stored on the managed stack and can be used directly. This means that the value is stored and not a reference to the value. This also means that each value type has its own copy of the data. A data type is a value type if it holds the data within its own memory allocation.
Value types are,
1. All numeric data types
2. Boolean, Char, and Date
3. All structures, even if their members are reference types
4. Enumerations
Reference Types on the other hand has a reference to the data, and several variables can reference the same data.
Reference types are,
1. String
2. All arrays
3. Class types
4. Delegates