【发布时间】:2012-09-09 18:51:01
【问题描述】:
值类型变量直接包含实际数据,引用类型变量包含对实际数据的引用。
我认为这是:
l.h.s 是值类型,r.h.s 是引用类型
在左侧,如果我将i 复制到j 中,则会用相同的原始数据 (45) 填充新的内存位置。
在右侧,如果我将k 复制到l,则新的内存位置将填充对对象的引用;这个引用指向内存中的实际对象。
现在,我对这种引用类型复制感到困惑。这里有一点不同:
这里,r.h.s 上的副本使l 指向与k 相同的位置。
我的问题是1。 “哪个更真实?” 还是比我想象的更多?
此外,值类型可以在堆上分配,这取决于 jitter 认为它适合的方式,然后 2。我们可以强制在堆栈上分配引用类型吗?
抱歉,图片编辑马虎。
【问题讨论】:
-
相关帖子here。
标签: c#