1.值类型
包括的类型:数值类型、结构体、bool型、枚举和可空类型。
内存分配:值类型会被分配在托管栈中,变量在生命周期结束后会自动释放。
存储方式:值类型会直接存储数据本身。
效率:效率高,没有地址转换。
赋值方式:会创建一个新对象。
2.引用类型
包括的类型:数组、类、接口、委托、object、字符串和null类型。
内存分配:引用类型会被分配在托管堆中,变量不会在生命周期结束时释放内存,它们占用的内存会被CLR的垃圾回收机制释放。
存储方式:存储的是数据的引用,数据存储在数据堆中,变量名存储在栈中。
效率:效率低,需要地址转换。
赋值方式:会创建一个引用。