首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

using (reader)用与不用有什么区别?解决方法

2012-01-10 
using (reader)用与不用有什么区别?using(reader){while(reader.Read()){if(!reader.GetValue(0).Equals(D

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
}

热点排行