当前位置:美高梅游戏 > 德军总部新巨人 > 引用类型总是处于已装箱

引用类型总是处于已装箱

文章作者:德军总部新巨人 上传时间:2019-09-11
  1. 引用类型总是处于已装箱。值类型对象的二种表示方法:未装箱和已装箱,引用类型总是处在已装箱
  2. 引用类型总是处于已装箱。值类型从引用类型总是处于已装箱。System.ValueType派生。该品种提供了与引用类型总是处于已装箱。System.Object长久以来方法,但System.ValueType重写了Equals办法, 能在多个指标的自断值完全相称的前提下再次来到true。比外,引用类型总是处于已装箱。System.ValueType重写了GetHashCode方法,生成哈希码时,那几个重写方法所用的算法会将指标的实例字段中的值想念在内。由于这么些默许完毕存在质量难题,所以定义自身的值类型时应重写EqualsGetHashCode方法,并提供它们的显式完结。
  3. 由于不能将值类型作为基类型来定义新的值类型大概新的引用类型,所以不应在值类型中引用任何新的虚方法。所以措施都不能够是抽象的,所以艺术都隐式密闭(不可重写)。
  4. .由于不能够将值类型作为基类型来定义新的值类型也许新的援用类型,所以不应在值类型中援引任何新的虚方法。所以艺术都不可能是充饥画饼的,所以措施都隐式密封(不可重写)。.引用项目标变量满含堆中指标的地点。援用类型的变量成立时暗中认可发轫化为null,注脚当前不对准有效对象。试图动用null援引类型变量会抛出NullReferenceException极度。相反,值类型的变量总是包蕴其基础项目标一个值,并且值类型的全体成员都从头化为0。值类型变量不是指针,访谈值类型不恐怕抛出NullReferenceException异常。CLR的确允许为值类型加多“可空”(nullability)标志。
  5. 将值类型变量赋给另一个值类型变量,会试行逐字段的复制。将引用类型的变量赋给另二个援用类型的变量只复制内部存款和储蓄器地址。
  6. 据悉上一条,多个或四个引用变量能援引堆中同二个对象,所以对一个变量实行的操作大概影响到另一个变量援用的对象。相反,值类型变量自成一体,对值类型变量施行的操作不恐怕影响另壹个值类型变量
  7. 由于未装箱的值类型不在堆中分配,一旦定义了该项目标一个实例的章程不再运动,为它们分配的积攒就能够被放出,实际不是等着开展垃圾回收。

本文由美高梅游戏发布于德军总部新巨人,转载请注明出处:引用类型总是处于已装箱

关键词: