C#两种内存栈内存和堆内存1、值类型:是栈内存管理对象使用结束自动回收2、引用类型是堆内存管理托管内存GC会自动回收不需要管非托管内存汇集成IDisposabla接口的比如FIleStream类操作文件或者SqlConnection数据库操作或者句柄或者Socket通讯都是非托管内存非托管内存需要手动Dispose()掉否则容易造成内存泄漏。2.1句柄房卡没还房间就一直被占着别人进不去房间 资源文件、图片、数据库连接酒店前台 操作系统房卡 句柄你没有房间钥匙也进不去房间内部你只有一张房卡。你要开门 → 刷卡开灯 → 刷卡退房 → 还卡3、如何释放非托管资源方式一使用DisPose()函数方式二using(){},()内包含你执行的操作using帮你释放额外析构函数 ~类名 使用析构函数是兜底的作用不能代替using和dispose()