using释放资源
using关键字的使用
释放资源:
用了using,还是需要try--catch的
using的原理:
为什么出了using所在的{},会自动回收对象。
原因是当我们将要出{},系统自动调用了Dispose()方法。
而在DISpose方法中是这么实现的
哪些对象才可以使用Using回收!
必须实现了IDisposable 接口的类型才可以使用using回收!
using回收的是托管还是非托管资源?
解析:什么是托管:所有的C#代码都是被CLR监管,
结论是using回收的是 非托管资源!
using语句能确保某个类的Dispose方法在最早的时间调用(using语句执行完之后)
如例:
using (string ss="diso")
{
//执行方法
}
到这里string的Dispose方法就会被调用,不管以何种方式退出代码块,都会调用Dispose方法。
避免意外的异常导致Dispose方法没有被调用
使用using语句之后,无论如何都会被调用执行