值类型和引用类型的比较

这几天在看《C#与.NET 3.0》高级程序设计,当看到值类型和引用类型这一章节时,看到如下这张表了。总结得不错,现特意贴出来,供大家看一下。

问     题值  类  型引 用 类 型
这个类型分配在哪里?分配在栈上分配在托管堆上
变量是怎么表示的?值类型变量是局部复制引用类型变量指向被分配得实例所占的内存
基类型是什么?必须继承自System.ValueType可以继承自除了System.ValueType以外的任何类型,只要那个类型不是sealed的
这个类型能作为其他类型的基类吗?不能。值类型是密封的,不能被继承是的。如果这个类型不是密封的,它可以作为其他类型的基类
默认的参数传递是什么?变量是按值传递的(也就是,一个变量的副本被传入被调用的函数)变量是按引用传递(例如,变量的地址传入被调用的函数)
这个类型能重写System.Object.Finalize()吗?不能。值类型不好放在堆上,因此不需要被终结。可以间接地重写
我可以为这个类型定义构造函数吗?是的,但是默认的构造函数被保留(也就是自定义构造函数必须全部带有参数)当然!
这个类型的变量什么时候消亡?当它们越出定义的作用域时。当托管堆被垃圾回收时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值