超乎想象的using(C#)

using是.net系统一个至关重要的关键字,它有两个方面的用途:

1作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。

2作为语句,用于定义一个范围,在此范围的末尾将释放对象

        想了解using不得不提命名空间,它是.NET中的各种语言使用的一种代码组织的形式 通过名称空间来分类,区别不同的代码功能 同时也是.NET中所有类的完全名称的一部分.分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的命名空间。

 

下面就来说一说using这两个个方面的作用。

 1作为指令

它有两个方面的作用一个时导入其他命名空间中定义的类型,另一个是为命名空间创建别名。

(1)导入其他命名空间中定义的类型。

既可以倒入用户自定义命名空间又可以导入系统定义命名空间。在.NET程序中,最多见的代码莫过于在程序文件的开头引入System命名空间,其原由在于System命名空间中封装了许多最基本最常用的操作。这样在程序中就可以直接使用命名空间里的类型,而不必将类型的命名空间也写上,这样减少了代码的冗长,实现类与类的类型的引用。比方,在.NET中许多的基本类型都位于System命名空间,数据操作类型位于System.Data命名空间,如下图所示:

 

 

(2)为命名空间创建别名

格式:using alias = namespace type;

其中namespace示意建立命名空间的别名;而type示意建立类型别名。

比方,在.NET Office使用中,常常会引入Microsoft.Office.Interop.Word.dll程序集,在引入命名空间时为了防止繁琐的类型输入,咱们通常为其建立别名如下:

using Generic = System.Collections.Generic;

using DataSourceGenerator = System.Func<System.Collections.IEnumerable>;

 这样,就能够在程序中以Generic 来代替System.Collections.Generic前缀,假如要建立 List对象,则能够是这样,

Generic.List<string> = new Generic.List<string>();

DataSource func = Func1

并且还有一个优点就是,在一个.CS文件中引入了不一样的命名空间但是相似的类名的时刻,用别名就能够处理这疑问了。

 

2作为语句。

格式:using (Font font1 = new Font("Arial", 10.0f)){}

        C# 通过 .NET Framework 公共语言运行库 (CLR) 自动释放用于存储不再需要的对象的内存。内存的释放具有不确定性;一旦 CLR 决定执行垃圾回收,就会释放内存。但是,通常最好尽快释放诸如文件句柄和网络连接这样的有限资源。 using 语句允许程序员指定使用资源的对象应当何时释放资源。为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。可以在到达 using 语句的末尾时,或者在该语句结束之前引发了异常并且控制权离开语句块时,退出 using 语句。

       可以在 using 语句中声明对象(如上所示),或者在 using 语句之前声明对象,如下所示:

Font font2 = new Font("Arial", 10.0f);

using (font2)

{

    // use font2

}

 

 

         也许对于using以前你并不了解,那是不是通过这篇文章,你对它有了进一步的认识呢。在创建新项目的时候,总会在程序的开始出现一些using +namespace  。当时没有太在意感觉这应该是系统自带的吧,通过学习的深入才慢慢的体会到它的功能超乎想象。

         不怕不知道,就怕不知道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值