在C#中Using有三种用法:1、引入命名空间;2、创建别名;3、强制资源清理;

第一种用法:引入命名空间

这是最常见的用法,格式 为:    using 命名空间名称;

第二种用法:给命名空间创建别名

这种做法有个好处就是当同一个cs文件引用了两个不同的命名空间,但是两个命名空间都包括了一个相同名字的类型的时候,就会为此类型命名空间创建别名,例如:

在同一类中

using BS=B.S; //实际是直接把类起了个别名,把命名空间B的S类命名为bs,下同
using CS=C.S;

namespace B{

public class S{
public void gets(){}
}}
namespace C{
public class S{
public void gets() {}
}}

在类中调用:

BS  s=new BS();//BS就是命名空间B的S类

CS  c=new CS();//CS  就是命名空间C的S类

第三种用法:强制资源清理,就是using语句

定义一个范围,在范围结束时就自动调用这个类实例的Dispose处理对象,该对象必须实现IDisposable接口,using语句适用于清理单个非托管资源的情况,而多个非托管对象的清理最好以try-finaly来实现,因为嵌套using语句可能存在隐藏的Bug.内层using块引发异常时,将不能释放外层using块的对象资源

using语句的实质就是在程序编译阶段,编译器会自动将using语句生成try-finally语句,并在finally块中调用对象的Dispose方法,来清理资源.所以,using语句等效于try-finally语句

下面是在百度经验找的两张图大家可以结合上面的描述看看,更深入的理解一下:

–第二种用法

–第三种用法