using – 再谈.Net Framework(C#/VB.Net)的资源释放

先看MSDN关于using语句的说明:

c# using msdn

c# using dispose msdn

例如,如下的代码:

using (SqlConnection cn = new SqlConnection("..."), SqlConnection cn1 = new SqlConnection("..."))
{
    cn.Open();
    cn1.Open();
    //......
}

实际就相当于

try
{
	SqlConnection cn = new SqlConnection("...");
       SqlConnection cn1 = new SqlConnection("...");
       cn.Open();
       cn1.Open();
       //......
}
catch
{}
finally
{
	cn.Close();
       cn1.Close();
       cn.Dispose();
       cn1.Dispose();
}

总结:

对于.NET的托管对象,可保证自动 dispose (释放)object (对象) 所占用的资源,包括因未处理的 exception 而造成区块结束 (但 StackOverflowException 除外),系统都会 dispose 资源。

posted on 2010-03-06 15:58  小顾问  阅读(1638)  评论(0编辑  收藏  举报