知识点 词汇表 联系我们
按类别浏览
内容搜索    
当前位置:WEB开发技术知识库(www.cn-web.com) .: .Net技术 .: C#教程 .: c#中的using语句讲解

c#中的using语句讲解


c#中的using关键字有很多用处,这里例举下它对对象的释放的作用。
因为在研究微软的petshop时,发现它的数据库底层操作大多会使用到using():
这里它的一个 执行SQL语句,返回影响的记录数的函数:
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="connection">数据库连接对象</param>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(SqlConnection connection, string SQLString)
{
if (connection == null) throw new ArgumentNullException("connection");
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
connection.Close();
connection.Dispose();
}
}
}
这里的using的作用就是在函数执行完后自动释放对象的,也就是自动调用Dispose方法。
在网上看到一测试它的例子,我们引用下,呵呵:
class Demo:IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Dispose");
    } 

    public void DemoMethod()
    {
        Console.WriteLine("hi");
    }
};

using (Demo a = new Demo())
{
    a.DemoMethod();
}

可以看到Dispose()方法也会同时执行,这样就达到了自动清除对象资源的作用了。



对此文章打分评级

用户评论

增加评论
此文章还没有任何评论!
网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号