1 C# 与 .NET
C# 是一种编程语言,而 .NET 是一个框架。.NET 框架由 CLR 和 我们建立应用程序所用到的类库组成。
2 CLR
CLR 在 《CLR via C#》一书中被翻译为公共语言运行时(Common Language Runtime)。当我们对一个应用程序进行编译的时候,C# 编译器会将我们的代码编译为 IL(Itermediate Language,中间语言)代码。 IL 代码是一个平台无关的语言,可以让 C# 程序运行在其他不同硬件架构、不同操作系统的电脑上。为了能做到这一点,我们就需要 CLR。当你运行一个 C# 应用程序,CLR 将会把 IL 代码编译为本机可以运行的机器码。这个过程被称为 JIT(Just-in-time,即时)编译。
3 .NET 应用程序结构
从结构上看,我们需要编写许多类来组成一个应用程序。一个类是一个包含了许多数据(或者属性)和方法(或者函数)的容器。属性代表了应用的状态。方法则包含了一些有逻辑的代码,我们可以在方法中进行数值运算或者进行一些其他额操作。
命名空间是一个容器,它通常是用来装一些具有一定相关性的类。当我们的应用程序的内容逐渐增加的时候,我们可能就需要将功能相关的类进行分组,以此来使我们代码拥有更好的可维护性,此时我们就用到了命名空间。(实际上,C# 鼓励我们将所有的类都放到某一个命名空间中)。
当类和命名空间逐渐变多,我们可能就需要按照规律将命名空间分散到各个 Assembly(程序集)中。assembly 是一个文件(DLL 或者 EXE),它包含了一个或多个命名空间和类。一个 EXE文件代表了一个可以被执行的程序。一个 DLL(Dynamic Link Library,动态链接库) 文件是可以被不同的程序复用的一些代码。