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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP