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

cserver side programmingprogramming更新于 2024/11/8 11:38:00

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

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

Sr.不。关键装箱拆箱
1实现装箱使对象类型称为值类型。拆箱基本上处理从装箱对象中检索值。
2存储在装箱的情况下,存储的值堆栈上的值被复制到存储在堆内存中的对象。另一方面,在拆箱的情况下,存储在堆内存中的对象的值被复制到存储在堆栈中的值类型。
3转换类型装箱通常称为隐式转换。拆箱是指显式转换。

装箱与拆箱的示例

JavaTester.java

public class JavaTester {
   public static void main(String[] args){
      int val = 119;
      // 装箱
      Object o = val;
      // 改变 val 的值
      val = 120;
      // 拆箱
      int x = (int)o;
      System.out.println("x 的值为 {0}"+ x);
      System.out.println("val 的值类型为 {0}"+val);
      System.out.println("val 的对象类型为 {0}"+o);
   }
}

输出

x 的值为 {0}119
val 的值类型为 {0}120
val 的对象类型为 {0}119

相关文章