C#中回收垃圾是那种方式回收的,是程序结束才会回收,还是方法结束后会回收。在方法中new了几个产量
C#中回收垃圾是那种方式回收的,是程序结束才会回收,还是方法结束后会回收。在方法中new了几个产量
C#中回收垃圾是那种方式回收的,是程序结束才会回收,还是方法结束后会回收。在方法中new了几个产量程序运行时会多次循环进行一个动作,会重复调用一个方法,该方法中会有new的变量。...
C#中回收垃圾是那种方式回收的,是程序结束才会回收,还是方法结束后会回收。在方法中new了几个产量程序运行时会多次循环进行一个动作,会重复调用一个方法,该方法中会有new的变量。
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
展开全部
<运行环境有个东西叫垃圾回收器GC,负责回收C#运行时没有再被引用的垃圾托管对象,至于什么时候回收,是GC的回收策略问题,其时机对于C#程序而言是随机的,没有确切的时机。
一个对象可能被多次引用,并不是在方法结束后就回收,因为可能还有其它引用着它。如果所有引用都出了作用域,也不一定就是在最后一引用出作用域后就立即回收该对象。对象被回收的时间点是在其所有引用出了作用域之后一直到程序进程退出之间,具体什么时间点不得而知,看GC的心情。
对象被回收的时候会调用其析构函数,于是可以看出,对象析构时间点就是被回收时间点,所以你不要指望通过析构函数去执行什么需要立即执行的代码,它并不靠谱,因此也导致C#的析构函数基本没什么鸟用,雷声大雨点小的感觉。这点它就跟C++很不同。
- 本文固定链接: http://fenleilaji.cc/?id=8094
- 转载请注明: admin 于 分类垃圾-环境保护从分类垃圾做起! 发表
《本文》有 0 条评论