C#编写的代码都是运行在.NET平台中的。
编译分为两个阶段:
(1)将源代码编译为Microsoft中间语言(IL),与Java的字节码共享一种理念,编译为中间语言就可以获得.NET平台无关性,与Java平台无关性是一样的道理,跨平台能力其实就是为各种系统开发了专门的运行平台。
(2)CLR把IL编译为平台专用的代码。
IL:中间语言
CLR:公共语言运用库/.NET运行库,通常将在CLR控制下运行的代码称为托管代码(managed code)。
JIT:即时编译器,并不是把整个应用程序一次编译完,而是只编译它调用的那部分代码。
IDE:(Intergrated Development Environment)集成开发环境。
CTS:通用类型系统。
CLS:(Common Language Specification)公共语言规范。
GC:(garbage collector)垃圾回收器。
GAC:全局程序集缓存。
XAML:(eXtensible Application Markup Language)可扩展应用程序标记语言。
COM:(Component Object Model)组件对象模型。
源码编译及执行过程图: