C# 编程中的装箱和拆箱之间的区别


C# 提供了两种方法将值类型链接到引用类型,反之亦然。这两种链接方法分别称为装箱和拆箱,其中装箱用于将值类型转换为对象类型,而拆箱用于将对象类型转换为值类型。

以下是装箱和拆箱之间最重大的区别。

序号要点装箱拆箱
1实现装箱使引用类型可以指向值类型。拆箱的过程主要是从装箱的对象中获取值。
2存储在装箱的情况下,存储在堆栈中的值将被复制到存储在堆内存中的对象中。另一方面,在拆箱的情况下,存储在堆内存中的对象的值将被复制到存储在堆栈中的值类型中。
3转换类型装箱通常称为隐式转换。拆箱是指显式转换。

装箱与拆箱的示例

JavaTester.java

 实时演示

public class JavaTester {
   public static void main(String[] args){
      int val = 119;
      // Boxing
      Object o = val;
      // Change the value of val
      val = 120;
      //unboxing
      int x = (int)o;
      System.out.println("Value of x is {0}"+ x);
      System.out.println("Value type of val is {0}"+val);
      System.out.println("Object type of val is {0}"+o);
   }
}

输出

Value of x is {0}119
Value type of val is {0}120
Object type of val is {0}119

更新于:2019 年 9 月 17 日

680 次浏览

开启您的 职业 生涯

完成课程获得认证

立即开始
广告
© . All rights reserved.