C# Using用法&&Dispose||Close不同

本文详细解析了C#中Using语句的三种用法:引入命名空间、命名空间类型声明以及对象范围定义,强调了其在资源管理和垃圾回收中的作用。对比了Dispose与Close方法的区别,解释了Dispose的立即回收特性及其在高流量场景下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Using用法

1、引入命名空间;

2、命名空间类型声明,好处是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候,清晰明了

using aClass = NameSpace1.MyClass;

using bclass=NameSpace2.MyClass;

3、定义一个范围,在范围结束时处理对象。比较好奇是这种用法

执行完后就垃圾资源回收了,执行了Dispose()。

string str = "LittleBai";
//创建写入字符串
//创建文件
using (StreamWirte Ws = new StreamWirte("test.txt")
{
    //将字符串写入文件
    Ws.Write(str);
}

注意使用前提:该对象必须继承了IDisposable接口,功能等同于try{}Finally{}。

Dispose与Close的区别

在上面说到Dispose是垃圾资源回收,那么它跟Close有什么区别吗?

简单记录一下:

Close是关闭数据连接,之后可以使用Open()打开数据连接,继续进行类的操作,如果Close之后没有其他操作可能要过较长时间才会被垃圾回收。

Dispose是要求马上回收。下次再浏览会重新实例化对象。

Close是必须用的,Dispose可用可不用,如果负荷流量大就用Dispose。

Dispose与Close的生动比喻为,Dispose是将房屋炸毁,不留痕迹,如果还需要用只能重新建房;Close只是房屋关门停业

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值