Per Value Type si intende la tipologia di dati in cui la variabile stessa è la locazione di memorie del dato. Quando si parla di Reference Type, invece, si intende che la variabile in questione rappresenta un puntatore del dato: si utilizza solo per dati molto grandi, difficili da trattare.
Tra le Value Type ricordiamo le variabili
- Int
- Double
- Decimal
- DateTime
- TimeSpan
Per quanto riguarda le Reference Type, invece, le variabili più utilizzate sono:
- Char
- String
Supponiamo di introdurre due variabili, che chiameremo S_1 e S_2. Se uguagliassi S_1 a S_2 nella Value Type i valori relativi alla seconda variabile verrebbero copiati nella prima. Tuttavia, se provassimo ad applicare la stessa uguaglianza nella Reference Type non staremmo più copiando i valori di S_2 in S_1 ma renderemmo semplicemente il riferimento della prima variabile uguale a quello della seconda: essi punteranno alla stessa allocazione di memoria.