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