强制资源整理(实用性非常强,希望大家多多使用,比try-catch-finaly 效率高、好用)用途:整理非托管资源,不受GC 控制的资源。using 结束后会隐式的调用Disposable 要领。
资源是实现 System.IDisposable 的类或结构,它包含名为 Dispose 的单个无参数要领。
正在运用资源的代码能够调用 Dispose 以指示不再须要该资源。假如不调用 Dispose ,则结尾 将因为垃圾回收而发生自动处置。
// 整理非托管不受GC 控制的资源
但是当对象运用using 重要字的时刻,必须实现IDisposable 接口。
本来 using 的运用和try-catch-finaly 中,在finaly 代码域调用Disposable 要领成效一样。留心 using 无法运用多个不一样的类
try-catch-finaly 用法:
Class1 f = new Class1();
try{
// 执行代码
}
catch(){
// 异常处理
}
finally{
f.Disposable();
}
对应成using 使用为:
using 用法:
using (Class1 f = new Class1())
{
// 执行代码
}
简单介绍这么几个吧,在使用过程中慢慢体会吧:
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
// 出了大括号系统会自动释放connection 资源。不需要手动关闭了
}
using (SqlDataReader dr = DB.ExecuteReaderBySql(strSql.ToString().Trim(), parameters))
{
while (dr.Read())
{
// 不需要手动关闭,系统会自动在执行完大括号中的内容后自带释放。
}
}
using (StreamWriter sw = new StreamWriter(Server.MapPath("/"), true, Encoding.GetEncoding("gb2312")))
{
// 不需要手动关闭,系统会自动在执行完大括号中的内容后自带释放。
}