命名空间对相关的类型进行逻辑分组,开发人员可通过命名空间方便地定位类型。
像这样写代码很繁琐,应该有一种简单方式直接引用某个类型,减少打字量。
C#编译器通过using指令提供这个机制。
对于编译器,命名空间的作用就是为类型名称附加以句点分隔符号,使名称变得更长,更可能具有唯一性。
C#的using指令是可选的,如果愿意,完全可以输入类型的完全限定名称。
C#的using指令指示编译器尝试为类型名称附加不同的前缀,直到找到匹配项。
注意:CLR对“命名空间”一无所知。访问类型时,CLR需要知道类型的完整名称(可能是相当长的 包含句点符号的名称)以及该类型的定义具体在哪个程序集中。这样“运行时”才能加载正确程序集,找到目标类型,并对其进行操作。
//--C#using指令的另一种形式允许为类型或命名空间创建别名。
如果只想使用命名空间中的少量类型,不想它的所有类型都跑出来污染全局命名空间,别名就显得十分方便。