using (reader)用与不用有什么区别?
using (reader)
{
while (reader.Read())
{
if (!reader.GetValue(0).Equals(DBNull.Value))
{
listUserCode.Add(reader.GetString(0));
}
}
}
用了 using (reader)和不用有什么区别吗?不用也行的啊?
------解决方案--------------------不用也行,但你要在后面加上 reader.close();
using ( ) //用了之后,当函数体内的语句执行完后,它自动帮你关闭
{
....
}
------解决方案--------------------用了之后,.NET框架会自动释放它所占用的资源
------解决方案--------------------用了using(){} 不用手动关闭datareader
不用using当然也可以,但是必须reader.Close()来释放资源
------解决方案--------------------顯示手工關閉Reader.Close()是個好習慣
------解决方案--------------------用了using语句,那么当这个语句结束的时候系统会自动的调用对象的Dispose方法来释放资源,如果不用这个语句,那么一定要手动来调用Dispose方法.
------解决方案--------------------再用完之后会自动帮你释放括号内所创建的资源!
这样的资源一般都是要继承Idispose接口,实现dispose方法
------解决方案--------------------用.Close()比较好
我从来不用using
------解决方案--------------------using会在程序离开using块的时候自动调用using对象的Dispose方法。即等同于:
try
{
while (reader.Read())
{
if (!reader.GetValue(0).Equals(DBNull.Value))
{
listUserCode.Add(reader.GetString(0));
}
}
}
finally
{
reader.Dispose
}