Value Type and Reference Type

值类型与引用类型

1.1 区别与联系

        在网上看到一句形容值类型与引用类型的话“值类型是现金,引用类型是存折”,个人认为非常贴切。这句话指明了引用类型表示储存数据的地址,而值类型就是地址当中的数据。
        具体区别及联系见下表:

值类型引用类型
定义直接存储数据持有数据的引用
存储栈(一声明就分配内存)堆(创建实例后才分配内存)
例子1.所有数字数据类型;
2.Boolean、Char 和 Date;
3.所有结构,即使其成员是引用类型;
4.枚举类型
1.string, class;
2.所有数组,即使其元素是值类型;
equal用法比较的是二者的引用地址而不是内部的值比较的是二者的值
垃圾回收(GS)栈不归GC管,所以作用范围一过,立即回收空间劳烦GC动手

        除了以上不同之外,还有一个比较晦涩的不同,引用类型一般都具有继承性,但是值类型一般都是封装的,因此值类型不能作为其他任何类型的基类。虽说不懂也记录下来,因为笔面试会考。

1.2 参考

值类型和引用类型的区别
值类型和引用类型
C#详解值类型和引用类型区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值