我以前写过一篇文章,关于.Net资源释放问题,也就是对于非内存的资源,最好使用IDisposable接口提供的Dispose来释放,详情参看这篇文章。
http://blog.csdn.net/knight94/archive/2006/08/05/1023352.aspx
很明显,Dispose方法是一个外部方法,系统并不会帮你调用。为了尽早释放对象所占用的资源,所以需要保证Dispose方法能尽早被执行。那么在.Net中提供了一个比较简便的方法,就是对于实现了IDisposable接口的类型对象提供了using语句。
就操作一个数据库这个例子来说,使用using语句可以如下:
using( SqlConnection sqlConn = new SqlConnection( yourConnectionString ) )
{
sqlConn.Open();//Open connection
//Operate DB here using "sqlConn"
sqlConn.Close();//Close connection
}
但是有时候当多个对象需要释放的候,例如: