装箱与拆箱问题的疑惑

圣域理想 圣域理想 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有如下一段代码


int i1 = 2;
object o1 = i1;
object o2 = o1;

object.ReferenceEquals(o1,o2).Dump(); // true

o1 = 5;

o1.Dump("o1"); // return 5
o2.Dump("o2"); // return 2


上述代码中,i1为int值类型,随后赋值给object o1 既为装箱过程并成为引用类型, 然后o1又赋值给o2(根据引用类型特点,实际值应该存放在堆Heap中,而栈Stack存放引用地址,其结果应该一致),请问为什么对 o1 重新赋值后为什么并没有影响o2的值?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
圣域理想
C# 111,129 成员 642,538 内容