c# 中using 关键字有哪些用法?

Posted

tags:

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

using 指令有两个用途:

允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用:

复制代码
using System.Text;

为命名空间或类型创建别名。这称为“using 别名指令”。

复制代码
using Project = PC.MyCompany.Project;

using 关键字还用来创建 using 语句,此类语句有助于确保正确处理 IDisposable 对象(如文件和字体)。有关更多信息,请参见 using 语句。

备注
using 指令的范围限制为包含它的文件。

创建 using 别名,以便更易于将标识符限定到命名空间或类型。using 别名指令的右侧必须始终是一个完全限定类型,而与前面的 using 指令无关。

创建 using 指令,以便在命名空间中使用类型而不必指定命名空间。using 指令不为您提供对嵌套在指定命名空间中的任何命名空间的访问。

命名空间分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的命名空间。若要查看系统定义的命名空间的列表,请参见 .NET Framework 类库参考。

有关引用其他程序集中的方法的示例,请参见创建和使用 C# DLL。

示例 1
说明
下面的示例显示了如何为命名空间定义和使用 using 别名:

代码
C# 复制代码
namespace PC

// Define an alias for the nested namespace.
using Project = PC.MyCompany.Project;
class A

void M()

// Use the alias
Project.MyClass mc = new Project.MyClass();


namespace MyCompany

namespace Project

public class MyClass




注释
using 别名指令的右侧不能有开放式泛型类型。例如,不能为 List<T> 创建 using 别名,但可以为 List<int> 创建。

示例 2
说明
下面的示例显示了如何为类定义 using 指令和 using 别名:

代码
C# 复制代码
using System;
// Using alias for a class.
using AliasToMyClass = NameSpace1.MyClass;

namespace NameSpace1

public class MyClass

public override string ToString()

return "You are in NameSpace1.MyClass";




namespace NameSpace2

class MyClass




namespace NameSpace3

// Using directive:
using NameSpace1;
// Using directive:
using NameSpace2;

class MainClass

static void Main()

AliasToMyClass somevar = new AliasToMyClass();
Console.WriteLine(somevar);



// Output: You are in NameSpace1.MyClass

参考资料:MSDN

参考技术A using 关键字有两个主要用途:

作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。
例如L:using System;

作为语句,用于定义一个范围,在此范围的末尾将释放对象。
using(Connection conn=new Connection(connStr))



这个conn对象就会在这个语句块结束后自动释放。当然using的对象必须事项IDisposable接口
参考技术B 1.在命名空间上的用法。
2.用于定义一个局部语句块。

以上是关于c# 中using 关键字有哪些用法?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 C# 为 `using` 定义了两种不同的用法?

use关键字在PHP中的几种用法

C# 关键字--using

c++中typenametypedef以及using关键字用法

java 中的 final 关键字都有哪些用法

c++中typenametypedef以及using关键字用法