高级编程第一章--.net体系结构
1.1 c#与.net的关系
C#本身只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.net的一部分。.net支持的一些特性,C#并不支持。而C#语言支持的另一些特性,.net却不支持。
但C#语言是和.NET一起使用的,所以如果要使用C#高效地开发应用程序,理解Framework就非常重要。
1.2 公共语言运行库
.NET Framework的核心是其运行库的执行环境,称为公共语言运行库(CLR)或.NET运行库。通常在CLR的控制下运行的代码称为托管代码。
在.NET中,编译分为两个阶段:
(1)把源代码编译为微软中间语言(IL)。
(2)CLR把IL编译为平台专用的代码。
1.3 中间语言
中间语言的主要特征:
1.面向对象和使用接口
2.值类型和引用类型之间的巨大差别
3.强数据类型
4.使用异常来处理错误
5.使用特性
对于值类型,变量直接保存其数据,而对于引用类型,变量仅保存地址,对应的数据可以在该地址中找到。引用类型总是存储在一个名为“托管堆”的内存区域中,值类型一般存储在堆栈中。