C#与.NET3.5高级程序设计读书笔记(1)
第一章 .NET之道
日期:20091117
1,.NET平台构造块
.NET可以理解为一个运行库环境和一个全面的基类库。CLR,CTS,CLS 和base class library的关系如下图:
其中
CLR的主要作用是 为我们定位、加载和管理.NET类型,同时负责一些底层的工作,如内存管理,创建应用程序域、线程和对象上下文边界等。
CTS(Common Type System) 描述了运行库所支持的所有可能的数据类型和编程结构,以及这些之间的交互。
CLS(Common Language Specification) 定义了一个所有.NET语言都支持的公共类型和编程结构的子集。
2,.NET 3.5新特性
- 支持强类型的查询(LINQ)
- 支持匿名类型
- 使用扩展方法扩展既有类型功能的能力
- Lambda运算符(=>)
- 新的对象初始化语法
3,.NET程序集(DLL或EXE文件)包含的是平台无关的IL和类型元数据。不包含特定于平台的指令,而各种编程语句的源代码通过各自的编译器生成统一的 包含IL和类型元数据的.NET二进制文件。
元数据是许多.NET技术的支柱,这些技术包括WCF,XML Web服务/远程处理层、反射、晚期绑定和对象序列化等。
4,CLR
.NET 程序执行流程
5,.NET的平台无关性
当微软发布C#语言和.NET平台时,同时发布了一整套正式的文档来说明C#和CIL语言的语法及语义、.NET程序集格式、核心.NET命名空间及假定的.NET运行时引擎的结构(虚拟执行系统,VES)。基于这些文档,第三方组织就可以在各种操作系统和处理器上构建不同的.NET平台发行版。
开源.NET版本的两个派别:
Mono项目,一个CLI的开源版,针对各种版本Linux 以及Win32 和Mac Os X Portable.NET,目的是在尽可能多的操作系统上运行(Win32\AIX\BeOS\Mac OS X\Solaris\所有主要的Linux发行版本)Mono项目新进展,见Novell加速非Windows环境.NET应用上市步伐