C#:如何手工释放资源

.NET 平台在内存管理方面提供了GC(Garbage Collection),负责自动释放托管资源和内存回收的工作。但在以下两种情况需要我们手工进行资源释放:一、由于它无法对非托管资源进行释放,所以我们必须自己提供方法来释放对象内分配的非托管资源,比如你在对象的实现代码中使用了一个COM对象;二、你的类在运行是会产生大量实例(象 GIS 中的Geometry),必须自己手工释放这些资源以提高程序的运行效率

最理想的办法是通过实现一个接口显式的提供给客户调用端手工释放对象,System 命名空间内有一个 IDisposable 接口,拿来做这事非常合适,省得我们自己再声明一个接口了


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • java 接口的意义-百度 规范、扩展、回调 抽象类的意义-乐视 为其子类提供一个公共的类型封装子类中得重复内容定...
    交流电1582阅读 6,778评论 0 11
  • 托管资源内存管理机制 .Net中将数据分为两种类型:值数据类型和引用数据类型,这两种数据类型存储在内存中的不同的地...
    FaithXiong阅读 5,163评论 0 1
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,387评论 30 472
  • 1 罗小林一直很讨厌自己的名字,又普通又世俗。 罗小林被甩了。 没啥惊天动地,不就是性格不合。 摔了手机爬办公桌前...
    绿水红毛阅读 2,118评论 0 1
  • 第一章 中国式爱情的样子 中国式的家庭中鲜有爱情的存在,在中国的文学史上,有爱情也是哪种凄美的,不可得的,...
    婉冰Wendy阅读 3,269评论 0 0