C# using

Posted 炫丽彩虹的男人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# using相关的知识,希望对你有一定的参考价值。

1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。用在命名空间里
   如:using System;  这个谁都知道,为了不用写类的全名(可以把System.Console  写成  Console)

2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。 
这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。

可以用来对一个类进行重命名,也是为了使用方便,如:   
    using System;   
    using hahaha     =     System.Console;   
    namespace  Console001   
    {   
    public class Class1   
    {   
    public static void Main()   
    {   
    hahaha.WriteLine("using 的第二种用法!");   
    }   
    }   
    }   

3.using语句,定义一个范围,在范围结束时处理对象。 
场景: 
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。 
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。

using (R r1 = new R ()) {
   r1.F();
}
在C#中被翻译为:
R r1 = new R();
try {
   r1.F();
}
finally {
   if (r1 != null) ((IDisposable)r1).Dispose();
}

r1当然要支持Dispose()方法了

以上是关于C# using的主要内容,如果未能解决你的问题,请参考以下文章

sql1999语法

在 Winx64 上使用 User32InitializeImmEntryTable?

在 Hibernate 的 NamedQuery 中使用用户定义的变量

Docker:使用 --volumes-from 备份数据文件

使用 User32.dll SendMessage 发送带有 ALT 修饰符的键 [重复]

使用用户定义的函数动态更新临时表和数据库表条目