区别:
1)值类型和引用类型在内存上存储的地方不一样
2)在传递值类型和传递引用类型的时候,传递的方式不一样
值类型我们称之为值传递,引用类型我们称之为引用传递
值类型:int、double、bool、char、decimal、struct、enum
引用类型:string、自定义类、数组
存储:
值类型的值是存储在内存的栈当中。是直接存储在栈当中
引用类型的值是存储在内存的堆中。内存的值存储在堆中,下图变量s存储在栈中,然后栈里面存储的是堆中值的地址。
自定义类也是 如此,如图所示,zsPerson这个对象是存储在栈当中的,栈里面存的是 堆中,zsPerson的值的地址,比如说堆里面的地址是0x010101,栈里面存的就是这个,然后在堆里面的这个地址里,存的才是这个对象的值
原文:https://www.cnblogs.com/May1184958246/p/14891499.html