Division of data types
While developing applications in the C# language, you could use various data types, which are divided into two main groups, namely value types and reference types. The difference between them is quite simple – a variable of a value type directly contains data, while a variable of a reference type just stores a reference to data, which is located somewhere else.
Here’s an illustration of this:
Figure 1.1 – The difference between value and reference types
As you can see, a variable of a value type (shown as A) stores its actual value directly in the stack memory, while a variable of a reference type only stores a reference here. The actual value is located in the heap memory. Therefore, it is possible to have two or more variables of a reference type that reference the same value, as indicated by the C and D boxes in the preceding figure.
Be careful – it is a simplification!
Please remember that...