前言
今天这篇文章和大家一起学习下C#语言下的命名空间和程序集。
在日常的编码工作中,我们对命名空间和程序集都不会很陌生。在创建项目文件时,IDE自动会为我们创建好一个大的命名空间和程序集。大多数业务代码都是在解决方案下各自的命令空间里进行编码的。
编译器接受源代码文件并生成名称为程序集的输出文件。
目前看到的所有程序中,大部分都声明并使用它们自己的类。
日常编码中也可能会用到很多来自其它程序集的类或类型,这时候可能来在BCL、第三方类库、开源类库等。这些程序集被成为类库,也可以自己创建属于自己的业务类库,方便复用。类库一般都是以.dll为结尾的文件,可以被多个项目引用。
命名空间和程序集
下面图片显示的就是命名空间
一个完整的C#项目,都会有一套统一的模式。
解决方案-->程序集-->命名空间-->类-->方法
新项目创建成功后,IDE自动会创建一个完整的编译形式,也会默认引用一些程序集,方便后期进行业务的编写。
控制台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _20220208 //命令空间 { class Program { static void Main(string[] args) { } } }
默认引用的程序集
可以看到在控制台程序中顶部显示的using 模块,这里都是控制台引入的命令空间,C#统一显示在顶部(也可显示在编码处)。
显示在编码处如下:
static void Main(string[] args) { Console.WriteLine("你好,阿辉"); System.Console.WriteLine("你好,阿辉"); }
上面的代码可以看到在输出“你好,阿辉”时,第一行是直接使用引用的System来操作的,而第二行是直接使用命名空间来操作的,这两者的效果是一样的。这里就是使用命名空间.类名来显示出具体类中的方法的。
一般常见的命名空间如下所示:
System System.Data System.IO System.Math System.Net
这里关于命名空间有几点需要注意的:
- 在命名空间内,每个类型名必须有别于所有其他类型
- 命名空间内的类型称为命名空间的成员
- 一个源文件可以包含任意数目的命名空间声明,可以顺序也可以嵌套