.Net
.NET是跨语言的一个平台,核心就是.NET Framwork,是.NET程序开发和运行的环境。语言可以是C#,f#,j#,VB.net等等。c#是运行在.Net平台下的一种面向对象的高级编程语言。
- .Net框架的组成分为两部分:
- CLR:公共语言运行时(Common Language Runtime),提供内在管理,代码安全性检测等功能。
- FCL:.NET框架类库(.NET Framework Class Library),提供大量应用类库,类库中有很多线程的资源可使用(比如:类,方法,属性),提高开发效率。
- CLR的结构:
- CLS:公共语言规范,获取各种语言转换成统一的语法规范,是.Net跨语言开发的基础。
- CTS:通用类型系统,将各种语言中的数据类型转换成统一的类型
- JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。
CLR一个很重要的特性就是Type安全。CLR在任何时候都知道某个对象的类型。你可以通过GetType
方法获得,由于该方法不是虚函数,因此不能被覆盖,也就是说返回的值是永远真实的。
-
.Net运行的机制流程
各种语言(c#,F#,j#等对应的源程序)-> 经过CLS,CTS第一次编译 -> 统一规范语言(中间语言)MSIL(.EXE,.DLL) -> JIT第二次编译 -> 二进制语言 -> 运行在CPU中 -
.Net的基础类库BCL
当通过VS创建一个项目后,这个项目就已经引用好了通过.NET下的语言编写好的一些类库。比如ConSole类,System.IO类,这些都是微软帮你写好的,不用你自己去编写,它帮你编写了一个面向.NET的开发语言中使用的基本的功能。这部分类,我们称之为