1.中间语言IL(CTS、CLS规范、语言彼此挪用),CLR运行环境(.net虚拟机加载措施集编译为机器语言、内存打点(分配和回收)、事件框架机制分段执行机制、应用措施域创建和组件通信、代码安适查抄和异常措置惩罚惩罚)
CTS(通用类型系统): 所有托管语言界说的类型,城市编译为中间语言界说的通用类型;VB中整型,C#中的int 城市被编译映射为int32, 这样差此外语言通过CTS就可以彼此担任,关联组合,依赖实现通信。类型分为值类型和引用类型,值类型(内置,枚举,用户界说的值类型),引用(接口,指针,自我描述), 自我描述(数组,类), 类(用户界说的类,委托,装箱值类型)
CLS(大众语言规范): CLS是一个最低语言规范标准集,,例如CLS指定不使用任何只是按照巨细写区分的名称(不区分巨细写的语法),以前的VB代码就可以和CLS兼容代码一起使用,可以定制编译选项(撑持部分的CLR特性的编译器编写,语言之间的彼此通信)。
垃圾回收器(GC):COM是用引用计数,AddRef计数加1,Release计数减1且到0时候释放内存(还是需要手动的Release内存)。.net中是给与垃圾回收器,当.net运行库CLR检测到给定进程的托管堆已满,需要清理时,就挪用垃圾回收器,查抄所有托管堆中东西的引用,对引用为0的东西则清理内存。
总结:C#编译器vs或其他将源代码依据(CTS、CLS规范等)编译成中间语言IL,措施运行时,CLR把IL语言使用JIT(按需即时编译)为平台上专用的机器代码,把JIT编译好的机器代码存储,后续运行代码是无需编译。