C#中几种可以判断是值类型还是引用类型的方法

         .Net 的类型可以分为值类型和引用类型,值类型通常分配在线程堆栈上,并且不包含任何指向实例数据的指针。引用类型实例分配在托管堆上,变量保存了实例数据的内存引用。

         1. 值类型变量只是进行数据复制,创建一个同值新对象,而引用变量的赋值仅仅是把对象的引用的指针赋给变量,使得变量引用与对象共享同一个内存地址。

         2.继承结构的区别,引用类型一般都有继承性。但由于值类型是密封的,因此值类型不能作为其它任何类型的基类,但是可以单继承或者是多继承接口。另一个区别是值类型都继承自System。ValueType类,而引用类型则不会继承自System。ValueType类。

         3.内存分配的区别:值类型通常分配在栈上,它的变量直接包含变量的实例,使用效率相对比较高。而引用类型分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过指针来引用实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值