value type variables contain actual data directly, and reference variable types contain a link to actual data.
I think of it as:
lhs is the value type, and rhs is the reference type

on the left side, if I copy i to j , the new memory cell will be filled with the same source data (45).
on the right side, if I copy k to l , the new memory cell is populated with an object reference; and this link points to the actual object in memory.
I am now confused by this copying of the reference type. here is a slightly different thing:

Here the copy on rhs does l points to the same place as k .
My question is 1. "Which one is more believable?" or is there something more than I imagined?
In addition, value types can be allocated on the heap, depending on how the jitter sees that it fits, and then 2. Can we bind the reference type to the stack?
Sorry for sloppy image editing.
user900360
source share