首页 > Windows开发 > 详细

c#基础之值类型与引用类型

时间:2019-05-18 21:32:40      阅读:113      评论:0      收藏:0      [点我收藏+]

(1)区别

  1. 值类型分配在堆栈上,引用类型是在托管堆上分配的。这里需要指出一点:如果一个引用类型中的某个属性是值类型,这个值类型的属性是分配在托管堆上的
  2. 所有的值类型都是隐式密封的(sealed),例如 :你不可能继承int 来构造自己的类型。
  3. 值类型的每一次赋值都会执行一次逐字段的复制,所以如果是频繁赋值也会造成性能上的压力,引用类型的赋值只是指针的传递,其实也是生成新的指针实例。
  4. 引用类型额外有类型对象指针和同步块索引,值类型是没有的。所以我们平时使用lock 锁的对象不可能是值类型,因为值类型没有同步块索引

(2)相同点

  1. 值类型和引用类型都是System.Object的子类
  2. 值类型和引用类型都可以继承接口。(很多人都认为值类型不能继承接口)

(----以上引自http://www.cnblogs.com/zhanlang/p/9603592.html)

(3)值类型 --分为简单值类型和复合值类型

1.简单值类型:基本的int,

---本人菜鸟,只是从菜鸟的角度来理解,不涉及更深层次。

c#基础之值类型与引用类型

原文:https://www.cnblogs.com/anjingdian/p/10887086.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!