使用不安全的代码导入类

时间:2009-04-13 18:12:06

标签: c# garbage-collection

例如,我的第三方课程的方法中包含不安全的代码。它会进行一些内存更改,并且不会清除内存。它发生了,我必须使用这个类,这是不安全的方法。 请您解释一下,在下一次垃圾收集器通过后,不安全代码所写的字节会发生什么。

3 个答案:

答案 0 :(得分:4)

垃圾收集器不会碰它们。一方面这很好,因为你不必担心它会干扰非托管代码。另一方面,如果你不自己清理它,那就是内存泄漏。

无论何时使用分配内存的不安全代码,我都会将其包装在实现IDisposable的对象中。如果第三方类尚未实现IDisposable,我将创建一个用于封装功能的新类。

答案 1 :(得分:2)

.NET垃圾收集器不会对这些字节执行任何操作,因为运行时没有分配它们。他们只会被泄露。

答案 2 :(得分:0)

什么都没发生。使用不安全的代码和内存分配,可以使用不安全的代码来正确释放系统资源。