C#两次new对象给一个变量,第一个对象会被自动销毁吗?

如题。我有一个变量,在运行时需要经常new新对象给它、旧的作废。我想知道,旧的对象是否会自动销毁?(我最关心的是:程序运行几个月后会不会因为旧的对象太多而崩溃?如果不会自动销毁,那么如何手动销毁旧的对象?)

如果是托管类型且不包含非托管类型成员,你不用管他,. net自有垃圾回收机制

如果new了一个对象赋值给一个变量,没有delete,又new了一个新对象赋值给同一变量。这时候之前的对象仍然是存在的,资源不会释放,其实就是内存泄漏了,个别的疏忽不会产生太大影响,这事干多了那就麻烦了。

对象销毁用于释放非托管资源 垃圾回收用于自动释放不再被引用的对象所占用的内存;并且垃圾回收什么时候执行时不可预计的
为了弥补垃圾回收执行时间的不确定性,可以在对象销毁时释放托管对象占用的内存.

对象销毁 垃圾回收
1)IDisposal接口
2) Finalizer 垃圾回收

前最面的对象在一定时间还是在内存里的,但是一般情况再也拿不到它的值的(只能高手才能拿到)。为什么说在一定时间会在内存里,因为计算机的资源回收机制不是实时触发的。
如果您想快点被回收,可以使用Dispose进行释放资源或GC.Collect()进行强制回收即可。