------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
C#与.NET的关系
C#是一种相当新的语言,C#的重要性体现在以下两个方面:
1、它是专门为与Microsoft的.NET Framework 一起使用而设计的(.net framework是一个功能非常丰富的平台,可开发、部署和执行分布式应用程序)
2、它是一种基于面向对象设计方法的语言,在设计它时,Microsoft还吸收了其他所有类似语言的经验,这些语言是近20年来面向对象规则得到广泛应用后才开发出来的
C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。.NET支持的一些特许,C#并不支持。而C#语言支持的另一些特性,.NET却不支持(如运算符重载)
公共语言运行库
.NET Framework的核心是其运行库执行环境,称为公共语言运行库(CLR)或.NET运行库。通常将在CLR中运行的代码称为托管代码(manage code)
在CLR执行编写好的源代码之前,需要编译它们。在.NET中,编译分为两个阶段:
1、把源代码编译为Microsoft中间语言(Intermediate Language)
2、CLR把IL编译为平台专用的代码
这种精心设计的通用语法有很重要的优点:平台无关性、提高性能和语言的互操作性。
中间语言
中间语言的主要特性:
1、面向对象和使用接口
2、值类型和引用类型之间的显著差异
3、强数据类型化
4、使用异常来处理错误
5、使用特性
程序集
程序集是包含编译好的、面向.NET Framework的代码的逻辑单元。程序集是完全自描述性的,它是一个逻辑单元,可以存储在多个文件中(动态程序集的确存储在内存中,而不是存储在文件中)。如果一个程序集存储在多个文件中,其中就会有一个包含入口点的主文件,该文件描述了程序集中的其他文件。
可执行代码和库代码使用相同的程序集结构。惟一的区别就是可执行的程序集包含一个程序入口点,而库程序集不包含。
程序集的一个重要特性是它们包含的元数据描述了对应代码中定义的类型和方法。程序集也包含描述程序集本身的元数据,这种程序集元数据包含在一个成为“清单”的区域中,可以检查程序集的版本及其完整性。