在使用语法可以(应)被用作限定用于任何实现一个范围的一种方式IDisposable的.using语句确保在发生异常时调用Dispose.
//the compiler will create a local variable //which will go out of scope outside this context using (FileStream fs = new FileStream(file, FileMode.Open)) { //do stuff }
或者你可以使用:
FileStream fs; try{ fs = new FileStream(); //do Stuff } finally{ if(fs!=null) fs.Dispose(); }
从MSDN额外阅读
C#通过.NET Framework公共语言运行库(CLR)自动释放用于存储不再需要的对象的内存.记忆的释放是不确定的; 只要CLR决定执行垃圾收集,就会释放内存.但是,通常最好尽快释放文件句柄和网络连接等有限资源.
using语句允许程序员指定何时使用资源的对象应该释放它们.提供给using语句的对象必须实现IDisposable接口.此接口提供Dispose方法,该方法应释放对象的资源.
在使用语法可以(应)被用作限定用于任何实现一个范围的一种方式IDisposable的.using语句确保在发生异常时调用Dispose.
//the compiler will create a local variable //which will go out of scope outside this context using (FileStream fs = new FileStream(file, FileMode.Open)) { //do stuff }
或者你可以使用:
FileStream fs; try{ fs = new FileStream(); //do Stuff } finally{ if(fs!=null) fs.Dispose(); }
从MSDN额外阅读
C#通过.NET Framework公共语言运行库(CLR)自动释放用于存储不再需要的对象的内存.记忆的释放是不确定的; 只要CLR决定执行垃圾收集,就会释放内存.但是,通常最好尽快释放文件句柄和网络连接等有限资源.
using语句允许程序员指定何时使用资源的对象应该释放它们.提供给using语句的对象必须实现IDisposable接口.此接口提供Dispose方法,该方法应释放对象的资源.