using statement

2008-08-27 15:01:36.0     浏览:391     来源:中国IT实验室
关键词:  using statement  

提供给 using statement 的对象必须实作 IDisposable 接口。若是自己写的 class,只要实作 System.IDisposable 接口,即拥有 Dispose 方法。之后若引用 using statement 去释放这个 class 的 instance,即会自动做 object 的 Close()、Dispose()、设定为 null (Nothing) 这三种动作,不需要再自己手动处理。反而若是自己手动多下一次 Close(),会让 CLR 浪费资源多做一次处理,反倒会影响程序「性能 (performance)」。根据国外网站及 ADO.NET 2.0 书籍证实,若 using 语句搭配 CommandBehavior.CloseConnection 一起使用,其重复关闭数据库联机的动作,会大幅地降低程序性能,处理时间甚至会多出 84% 以上 (叫用 ExecuteReader() 时,若搭配 CommandBehavior 枚举值 (enumerated value),可要求在查询完成后,自动关闭数据库联机)。

  此外,using statement 也可多层巢状地使用,例如:第一层的 using statement 里包 SqlConnection 的宣告及 instance 的新增,第二层包 SqlCommand,第三层包 SqlDataReader.您亦可在巢状的 using statement 中指定多种的系统资源,包括数据库的 transaction 交易处理。

[上一页]   [第1页]   [第2页]