using keyword in C#

The using keywords has three major uses:

  The using statement defines a scope at the end of which an object will be disposed.

  The using directive creates an alias for a namespace or imports types defined in other namespaces.

  The using static directive imports the members of a single class.

 

1.using语句定义了一个作用域,在作用域最后会dispose该对象。

 【注意】dispose强调了“清理资源”,在完成资源清理之后,对象本身的内存并不会释放。所谓”dispose一个对象“或”close一个对象“的真正含义是:清理对象中包装的资源(如他的字段所引用的对象),然后等待垃圾回收器自动回收该对象本身占用的内存。

2.using指令有两个作用,一是导入命名空间,这是其最常见的用法;二是为命名空间创造别名(alias)

别名有两个作用:消除两个同名类型的歧义;缩写长名称

 1 using System;
 2 using System.Threading;
 3 using CountDownTimer = System.Timers.Timer;
 4 namespace UsingDemo
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             // CountDownTimer is alias of System.Timers.Timer,
11             //declaring with using directive
12 
13             CountDownTimer timer;
14         }
15     }
16 }

使用Timer作为System.Timers.Timer的别名,如果要使用System.Threading.Timer类型,必须完全限定或定义新的别名。

 1 using System;
 2 using System.Threading;
 3 using Timer = System.Timers.Timer;
 4 namespace UsingDemo
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             Timer timer;
11             System.Threading.Timer timer1;
12         }
13     }
14 }

 

3.using static指令

using static指令和using指令本质上是相同的,都是导入命名空间,是C#6.0引入的语法糖,详情参见:

https://www.cnblogs.com/linianhui/p/csharp6_using-static.html

 

posted @ 2020-03-26 00:23  旋转的地球  阅读(142)  评论(0编辑  收藏  举报