从这个图上也可以看出,.net framework是架构在windows平台上的一个虚拟的运行平台,你可以想象将最下层的windows换作其它的操作系统,比如说linux,一样可以实现使用符合了cls(common language specification,通用语言规范)的.net语言(vb.net、c#、jscript.net等)来创建asp.net或windows forms(可能会叫做linux forms)应用程序的功能,这其实就是我们前面介绍的mono计划所要实现的功能。所以可以这么认为,理论上,c#是一种可以跨平台的语言,这很像java,另一个比较像java的地方是,c#也是一种(特殊意义上的)解释性的语言。同java一样,c#编写的程序代码也是先通过c#编译器编译为一种特殊的字节代码(中间语言,microsoft intermediate language,msil),运行的时候再经由特定的编译器(jit