1、.NET编译ide
1.C#和.net的关系
C#是一种语言,尽管它是用于生存面向.net环境的代码,但它自己不是.net的一部分.net支持的一些特性,C#并不支持。而C#语言支持的另外一些特性,.net并支持(例如运算符重载)
2..net编译阶段
(1)把源代码编译成Microsoft中间语言(IL)
(2)CLR把IL编译成平台专用的代码。
Microsoft中间语言试用数字代码,能够很是快速地转换为内部机器码。
优势:平台无关性,提升性能和语言的互操做性。
3.JIT编译
JIT编译并非把整个应用程序一次编译,而是只编译它调用的那部分代码。
代码编译一次后,获得的内部可执行代码就存储起来,知道退出应用程序为止,
这样下次运行这部分代码时,就不须要从新编译了。
2、中间语言的特定
1.面向对象和接口的支持
(1) 用一种语言编写的类应能继承用另一种语言编写的类。
(2) 一个类应能包含另外一个类的实例,而无论它们是使用什么语言编写的。
(3) 对象或者对象的引用应能在方法之间传递。
(4) 在不一样的语言之间调用方法时,应能在调试器中调试这些方法调用,
即调试不一样语言编写的源代码。
2.相异值类型和引用类型
值类型: 变量直接保存其数据
引用类型:变量仅保存其存地址,对应的数据能够在该地址中找到。
通用类型定义一个内容丰富的类型层次结构,以下:

通用类型系统(CTS):保证不一样语言直接数据类型的统一。
公共语言:(CLS) :和通用类型系统一块儿确保语言的互操做性。
3、.net编译工做原理图
