Unity3D笔记(十三)关于值类型与引用类型

一.值类型、引用类型的定义

值类型:直接访问数据的值。

引用类型:访问数据的存储地址。

二. C#中如何判定值类型

使用Type.IsValueType属性,true为值类型。


值类型判断

三.值类型与引用类型主的主要类型

值类型:基本数据类型(int、float、double等)、结构数据类型、枚举数据类型。

引用类型:类、接口、数组、字符串和委托。

四.值类型与引用类型的不同点

1.内存分配不同:值类型通常被分配到栈上,它的变量直接包含变量的实例,使用效率比较高。

引用类型分配在堆上,它的变量通常会包含一个指向实例的指针,变量通过该指针来引用实例。

2.默认值不同:值类型默认情况下自动初始化为0。引用类型默认情况下为null。

3.继承类不同:值类型继承自System.ValueType。引用类型继承自System.Object。

4.回收方法:值类型不由GC控制,作用域结束时自行释放。引用类型由GC完成。

5.继承性不同:值类型是密封的,因此不能用作基类。引用类型一般有继承性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容