第一部分是正确的的,引用类型的实例总是在堆上创建的。但第二部分就有问题了。变量的值是在它声明的位置存储的。所以,假定一个类有一个int类型的实例变量,那么这个类的任何对象中,该变量的值总是和对象中的其他数据存放在一起的,也就是堆上。 只有局部变量(方法内部声明的变量)和方法参数在栈上。对于C#2及更高版本,很多局部变量并不完全存放在栈中。(后续补充。。。)
C# 基础知识整理
原文:https://www.cnblogs.com/GYY2046/p/10830420.html