C#_02.10_基础一_.NET框架
一、概念:
.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一。
解读:
1、.net框架是一个编程环境,
2、可以进行多语言的开发和执行,
3、它是可以进行编辑和编译的。
二、组成:
.NET框架由三部分组成,分别是:
CLR:公共语言运行库(时);
BCL:基类库;
编程工具;
他们之间的关系如下图:
下面来说说这三个部分各自的功能或者是组成:
CLR:
1.内存管理和垃圾收集;
2.代码安全验证;
3.代码执行、线程管理及异常处理。
编程工具:
集成开发环境(IDE)Visual Studio;
.NET兼容的编译器,可以编译(C#,Visual Basic .NET、F#、IronRuby和托管的C++);
调试器;
网站开发服务器端技术,比如ASP.NET或WCF;
BCL(基类库):
.NET使用的一个大的类库,也可以在我们的程序中使用。
三、重点:.NET为什么是多语言的???????
因为.NET不是直接执行源代码,而是对所有它支持的语言的源代码进行编译成程序集,程序集里面的语言是CIL(公共中间语言)语言,是一种中间语言。这个中间语言在程序被执行时编译成本级代码然后出结果。因为不同语言归一到相同的CIL,所以.NET多语言。
一个程序集包括如下项目:
程序的CIL;
程序中使用的类型的元数据;
对其他程序集引用的元数据。
代码的执行过程图解:
注小概念:代码有分为托管代码和非托管代码。托管代码是运行时需要CLR进行管理的,而非托管代码是不需要CLR的,如使用C++写的一些底层。
CLR是.NET框架的核心组件,在操作系统的底层,管理程序的执行,提供的服务包括:
自动垃圾收集;
安全和认证;
通过访问BCL得到广泛的编程功能,包括Web服务和数据服务之类的功能。
具体还是看图解:
注:CLI(公共语言基础结构):
是一组阐述了系统架构、规则和约定的规范
为什么需要它?
因为每一种编程语言都有一组内置的类型,用来表示如整数、浮点数和字符等之类的对象。没有这一套CLI规范不同的编程语言内置的类型不一致,缺乏统一性,难以使用不同语言编写程序及库一起良好协作。
CLI的组成图解:
C#进化之路