C# 中值类型与引用类型及区别

目录

知识点

一、定义

二、区别


知识点

一、定义

        值类型:通过变量直接存储数据

        例如:byte, int, short, long, float, double, char, bool,struct等等

        引用类型:变量持有的是数据的引用,而数据存在堆中

类型类别派生源
引用类型数组System.Array
类(class)System.Object
接口(interface)/
委托(delegate)System.Delegate
objectSystem.Object
字符串(string)System.String

二、区别

角度区别
存储内存值类型的数据存储在内的存栈中,引用类型的数据存储在内存的堆中,而内存单元只存放堆中对象的地址
存取速度值类型的存取速度快,引用类型的存取速度慢
存储数据值类型表示实际数据,引用类型表示的是指向存储在内存堆中的数据的指针或引用
派生类别值类型继承自System.ValueType,引用类型继承自System.Object
内存回收栈的内存分配由系统自动回收,而堆在.Net中由GC释放
(*与存储数据类似)值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用
(*与存储内存类似)值类型变量直接把变量的值保存在堆栈中,引用类型的变量把实际数据的地址保存在堆栈中,而实际数据则保存在堆中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值