.NET Framework下提供了一个巨大的统一基础类库,该类库提供了程序员在开发程序时所需要的大部分功能,而且这个类库可以被使用任何一种支持.NET的程序语言加以引用,程序员不再需要为了不同的类库而学习不同的程序设计语言。
.NET基础类库是以面向对象为基础创建的,其实在.NET Framework下,不管是数字还是字符串,所有的数据都是对象。.NET中基础类库结构是阶层式的,采用命名空间加以管理,方便程序员进行分类引用。
5.公共语言运行环境(CLR)
以前的c#开发的程序运行速度慢,是因为其运行环境是以COM为基础进行编译和运行的。在.NET Framework下,所有的程序语言将使用统一的虚拟机,CLR将是所有的.NET语言在执行时所必备的运行环境,这种统一的虚拟机与运行环境可以达到跨平台的目的。CLR大致可以再分为以下几部分。
(1)通用类型系统(Common Type System,CTS)
该系统的作用是使所有支持的语言共享相同的数据类型。无论程序是以什么语言编写的,都会被编译成相同的中间语言,而这个中间语言在CLR下其数据都将具有相同的名称,从而使得不同语言之间的数据得以沟通协调。
(2)内存管理和资源回收
支持.NET且遵守共同规范的程序语言所编写的程序,称之为managed code(托管代码),而之前各版本的其他语言所编写的代码称为Unmanaged code(非托管代码)。称为managed code的程序语言是因为这些程序代码在执行过程中所使用到的内存资源受到CLR的监控,各种数据与对象的生存期都由CLR管理。
CLR提供了统一的资源回收机制,对于不再使用的对象等,会自动释放所使用的资源,避免造成程序错误或内存耗损。
展开