在C#中,装箱转换是指将一个值类型隐式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,也就是创建一个object实例并将这个值复制给这个object。比如: int i = 10; object obj = i; 用下图可以表示装箱的过程:
讨论值类型的隐式装箱转换为装箱的值对象的跟踪句柄的方式。
Discusses how implicit boxing of value types translates to a tracking handle to the boxed value object.
当装箱需要从 int 转换到 Integer 时,编译器并不调用 new Integer(int),而是生成对 Integer.valueOf(int) 的调用。
When boxing requires conversion from int to Integer, rather than calling new Integer(int), the compiler generates a call to Integer.valueOf(int).
装箱将一个值类型转换为引用类型。
应用推荐