asp.net 自定义类实例化后需要Dispose 或者释放内存吗?

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:05:28
需要手动释放内存吗?
SqlCommand 或者 SqlDataReader 也要写下面这个吗?
cmd.Dispose();
rs.Dispose()

要,虽然c#会自动清理垃圾,
但引用类型的对象如果不用就自己清了吧。

用不用Dispose关键看这个类有没有继承IDispose接口。只要有,就可以使用:
using() {...}来实现自动调用Dispose方法。这是一个好的习惯。

using(SqlConnection conn = new SqlConnection(...)){
//其他语句
using(SqlCommand cmd = new SqlCommand(...)) {
//其他语句
using(SqlDataReader rdResult = SqlCommand.ExecuteReader()){
//其他语句
}
}
}

不需要,GC会帮你清,多此一举!

释放就不用了 SqlDataReader一定要关闭就是了

首先,你知道Dispose方法究竟是做什么的,该怎么用吗?
Dispose模式都理解了吗?
托管资源释放和非托管资源释放搞的清是怎么回事吗?
如果是,你应该不会问这个问题...