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语言都支持的公共类型和编程结构的子集。

image

2,.NET 3.5新特性

  • 支持强类型的查询(LINQ)
  • 支持匿名类型
  • 使用扩展方法扩展既有类型功能的能力
  • Lambda运算符(=>)
  • 新的对象初始化语法

3,.NET程序集(DLL或EXE文件)包含的是平台无关的IL和类型元数据。不包含特定于平台的指令,而各种编程语句的源代码通过各自的编译器生成统一的 包含IL和类型元数据的.NET二进制文件。

元数据是许多.NET技术的支柱,这些技术包括WCF,XML Web服务/远程处理层、反射、晚期绑定和对象序列化等。

4,CLR

image

.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应用上市步伐

posted on 2009-11-17 15:49  kevin@  阅读(268)  评论(0编辑  收藏  举报