object o = i; 此语句的结果是在堆栈上创建对象 o,而该对象在堆上引用 int 类型的值。该值是赋给变量 i 的值类型值的一个副本。下图说明了两个变量 i 和 o 之间的差异。
装箱转换 在堆栈上 在堆上 i 123 int i=123; o (将i装箱) object o=i; int 123 也可以(但绝不必要)如下例所示显式执行装箱: int i = 123; object o = (object) i; 示例 此例将整数变量 i 通过装箱转换为对象 o。这样,存储在变量 i 中的值就从 123 更改为 456。此例显示对象保留了内容的原始副本,即 123。 // boxing.cs // Boxing an integer variable using System; class TestBoxing { public static void Main() { int i = 123; object