我有一个变量或数组,我不再需要它了。如何摧毁他们? 对不起,没有问题。在C中销毁变量或数组#
12
A
回答
2
.NET中的Garbage Collector将为您做到!但实际上,它可能取决于你在写“你不需要”变量时的意思
11
你没有。只要让引用超出范围,它就会自动变为garbage-collected。
1
.NET有一个内置的垃圾收集器。在不需要的时候停止引用数组或变量就足够了。不需要明确的销毁电话。
5
在.NET或为此事你只需释放你持有到该对象的所有引用任何垃圾回收的语言,垃圾收集器将最终收集它例如:
int[] arr = new int[20];
....
// when no longer needed set all references to null
arr = null;
// also creating a new object will release the old one automatically if there are no more references to it
arr = new int[40]; // old array will be garbage collected
另外请注意,你不这样做只有当你明确地想释放一个对象而不释放它的父对象或者如果引用是一个静态字段时,每次都需要这样做。对于只有局部(方法)变量的类或静态字段的字段,也不需要释放对象。
1
垃圾收集器是要命的,但是当垃圾收集器收集的对象不再被引用的对象被有效破坏:后... 所以,如果你需要处理的immediateli对象,以便自毁代码被称为,您需要实施IDisposable接口,并在解除引用对象之前调用Dispose方法。
相关问题
- 1. 在clojure销毁变量
- 2. 销毁ruby中的变量
- 3. Powershell splat销毁变量
- 4. 销毁会议变量注销
- 5. 线程被销毁时,变量是否被销毁?
- 6. 如何销毁数组的数组
- 7. Php会话变量销毁此说明
- 8. C - 为什么我的变量没有被销毁?
- 9. 在Openmp中销毁线程(C++)
- 10. 在C#中销毁结构对象?
- 11. 在另一个应用程序中销毁会话变量
- 12. 为什么我不能在Ruby中销毁这个变量?
- 13. 销毁或关闭HttpClient Android
- 14. 在C++中通常调用一个块时如何销毁局部变量?
- 15. 如何在matlab中销毁变量时,如何销毁mex文件中的内存?
- 16. 尽快销毁大量数据?
- 17. 如何销毁javascript数组引用
- 18. 如何销毁组件销毁的反应FormControl?
- 19. 销毁会话中的塔或Python
- 20. 如果我在C++类中声明一个向量,它是否会被销毁,然后类的instate被销毁?
- 21. 在java中销毁进程
- 22. 在codeigniter中销毁会话
- 23. 在X ++中销毁对象
- 24. 在Unity中销毁克隆
- 25. 在指令中销毁$ interval
- 26. 在GTK中销毁Windows#
- 27. 在PHP中销毁ArrayObject
- 28. 如何在jQuery中销毁$ .animate函数?
- 29. 为什么Python在对象之前销毁类变量?
- 30. angular2销毁视图销毁订阅
非常感谢你! – Alexry 2010-04-28 07:31:13
请注意,您不需要将引用设置为'null' - JIT/Runtime将共同确定代码将不再使用该引用的位置;在那个时候它已经死亡并且可以收回。 Google针对MSDN博客上的'GC.KeepAlive()'描述以及SO的详细信息。 – 2010-04-28 07:52:27
@亚历山大,您的欢迎,也就像@迈克尔伯尔所说,它在* .Net中非常罕见*,需要手动清空变量,您通常不需要这样做。 – 2010-04-28 07:54:57