《C#编程入门与应用》—2.2 using 关键字

举报
清华大学出版社 发表于 2019/10/11 12:17:28 2019/10/11
【摘要】 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第二章,第2.2.1节,作者是李 鑫 祝惠娟。

2.2 using 关键字

       通过例 2-1 可以看到,C# 语法中包含 using 关键字。在 C# 语言中,using 可以作为指令, 用于为命名空间创建别名或者导入其他命名空间中定义的类型;using 也可以作为语句,用于 定义一个范围,在此范围的末尾将释放对象。 

 2.2.1 using 指令 

       在 C# 中,using 指令常见的用途有两种。 

     1.using 后跟命名空间名字

     通过在using 后面跟随命名空间名字,就可以在程序中直接使用命令空间中的类型了, 而不必指定类型所属的详细命名空间,类似于 Java 的 import。这个功能也是最常用的,几乎 每个 C# 程序中都会用到。 

      【例2-2】

     也可以用下面的代码分别引入 System.Text 类和 System.Data 类:

     using System.Text;

     using System.Data;

       上述代码中,System.Text 和 System.Data 均是内置的命名空间类。using 指令除了可以引 入内置的命名空间类外,还可以引入自定义的命名空间以及自定义命名空间下的类。

       using 引入命名空间,并不等于编译器编译时加载该命名空间所在的程序集,程序集的加 载取决于程序中对该程序集是否存在调用操作,如果代码中不存在任何调用操作,则编译器 将不会加载 using 引入的命名空间所在的程序集。因此,在源文件开头,引入多个命名空间, 并非加载多个程序集,不会造成“过度引用”的弊端。 

      2.using 为命名空间或类型创建别名

      using 指令为命名空间或类型创建别名通常有以下两个原因:

  ● 缩写一个长名称。 

  ● 消除同名的两个类型的歧义。 

     【例2-3】 

      下述代码分别引入 PC.Play 命名空间以及该空间下的 Games 类,并为它们指定别名:

           using MyPlay = PC.Play;                                 // 命名空间的别名

           using MyPlayGames = PC.Play.Games;        // 类型的别名

注意

       并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要 使用,则两个都需要用 using 来定义别名。

【例2-4】 

       在同一文件中引入的不同命名空间中包括了相同名称的类型时,如 SharpMap.Geometries.Point 与 System.Drawing.Point,为了避免出现名称冲突,可以通过设定别名来解决:

       using SGPoint = SharpMap.Geometries.Point;

       using SDPoint = System.Drawing.Point;

提示

       尽管我们可以通过类型全名称来加以区分,但是这显然不是最佳的解决方案。用 using 指令创 建别名,有效地解决了这种可能的命名冲突,这才是最佳的解决方案。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。