博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

using语句的作用

Posted on 2008-12-11 09:14  赢在自己  阅读(391)  评论(0编辑  收藏  举报

在进行数据邦定时往往会看到这样的语法:

 protected void Page_Load(object sender, EventArgs e)

    {

        if (!Page.IsPostBack) bindgrid();

    }

    void bindgrid()

    {      

//查询student数据库获取结果集ds

        string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

        DataSet ds = new DataSet();

       using (SqlConnection sqlconn = new SqlConnection(sqlconnstr))        {         

          SqlDataAdapter sqld = new SqlDataAdapter("select no,name,birth,address from student", sqlconn);

          sqld.Fill(ds, "tabstudent");

        }

//以数据集中名为tabstudentDataTable作为数据源,为控件绑定数据

       GridView1.DataSource = ds.Tables["tabstudent"].DefaultView;

       GridView1.DataBind();

    }

其中using (......))这句为什么要这样写呢?直接写SqlCommand cmd = new SqlCommand(SQLString, connection)不就可以了吗? 为什么还要用using()包围呀,这样写有什么好处吗?

1. 如果你需要使用一个对象,这个对象需要占用很多紧缺的资源,使用完成后需要马上释放掉的话,建议使用using语句
2. 这样写是为了避免资源释放不及时导致的冲突或性能问题
3. 这样写的话处是减少因为争抢资源发生冲突或性能问题的概率
4. 以下为微软官方关于using语句的解释
提供能确保正确使用 IDisposable 对象的方便语法。
语法 复制代码
using (Font font1 = new Font("Arial", 10.0f)) {
.. byte charset = font1.GdiCharSet;
}