using关于即使释放资源的用法疑问
问题就是,具体是什么时候释放资源?
C# code
DataTable dt;
using (dt = new DataTable())
{
dt.Columns.Add("ID");
DataRow dr = dt.NewRow();
dr["ID"] = "name";
dt.Rows.Add(dr);
}
int i = dt.Rows.Count;
这个i依然有值。
------解决方案--------------------对象Dispose后仍然可以访问到它。但是这么做是危险的和绝对不允许的。
------解决方案--------------------using (dt = new DataTable())
{
} <----到了这个括号就会调用 using里面那个对象的IDispose接口的Dispose方法。
其实是只要出using的作用域就会调用Dispose,包括异常。
这并不是真正的释放,而是调用Dispose而已。