栈上存储的是临时的变量,一旦这个变量失去了作用域,就会被C#自己的GC回收机制回收。

比如值类型,没有实例化的引用类型等。

堆上存储的这个对象所开辟的内存空间里面所有的东西,一些持久化的东西,这里面的东西是不能被GC自己回收的,需要我们基于资源管理器,根据引用管理,查看这个类或者对象是否还有引用,如果没有就手动释放掉。

比如在引用类型中的值类型,实例化后的引用类型等。