将int类型实参传入object形参的方法属于装箱还是拆箱?
装箱与拆箱的场景判断
核心定义
- 装箱:将值类型(如
int、double)转换为System.Object类型的过程 - 拆箱:将
System.Object类型转换回值类型的过程
你对基础转换的理解是正确的:
- 拆箱示例:
object o = 12; int i = (int)o;
- 装箱示例:
long l = 123L; object o = l;
目标场景判断
针对你给出的代码场景:
public class Program { public static void V(object o) => System.Console.WriteLine(o); public static void Main(string[] args) { int i = 32; V(i); } }
这属于装箱操作。因为方法V的参数类型是object,当传入值类型int i = 32时,CLR会自动将该值类型实例包装为object对象,本质就是完成了值类型到System.Object的转换,完全符合装箱的定义。
内容的提问来源于stack exchange,提问作者user20311258
相关产品推荐
相关产品推荐

