http://www.cnblogs.com/edisonchou/p/4787775.html
这篇文章应该对你有帮助
这里分两种情况
1 如class 是引用类型的 但是里面有个int类型的属性 这个时候它是存在于堆上的
2 如Struct 是值类型 但是里有个string 类型的属性,这个时候它的值是存在于堆上而栈只保留一个引用
除了Struct之外的其他值类型呢?
@OSManager: Struct也是在栈上的只是它内部如果有引用类型,栈上只会保留引用,其它值类型都是在栈上
买一本红宝书来好好看看 ,c#高级编程第7版