C# 值类型和引用类型

来源:互联网 发布:淘宝 点击链接打开app 编辑:程序博客网 时间:2024/05/19 05:02

主要区别

value type和reference type在内存分配上不同

value type储存在stack,存的是一个具体的值

而reference type储存在heap,存的是一个地址,可以通过一个reference type来访问一个value type



value type:

value type的拷贝是直接复制了一份,复制和被复制的两个type是相互独立的

value type的空间是在编译的时候分配的,不能被垃圾收集器回收

预先定义好的数据类型,结构体,枚举类型都属于value type


reference type:

reference type是引用某个对象,而不是这个对象本省

reference type的拷贝是复制一个引用,这个引用指向同一个value

reference type的空间可以被垃圾收集器回收

Class,Object,Array,Indexer,Interface都属于reference type




原创粉丝点击