Don't you worry about that. The long
value will be stored in 2 memory addresses. Int64
/long
will always be 64bit, and Int32
/int
will always be 32bit.
There are a few implications (concerning memory space and performance), but the most noticeable may be that write/read operations won't be atomic on 32bit systems, but you shouldn't expect them to be atomic anyway, since the c# specification makes no such guarantee.
Either way, the point is: this is not something you should ever worry about - the CLR abstracts these things away. Use whichever type suits you best.